首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 4.1 中文亂碼終極解決方案:字元集設定與查詢技巧

     編輯:MySQL 資料庫相關知識

核心原則

建立資料庫/資料表時,字元集設定雖重要,但 文字欄位(CHAR/VARCHAR/TEXT)務必明確指定為 GBK,才能確保中文排序與比較正確。

既有資料表字元集轉換步驟

ALTER TABLE t MODIFY hoverfly BINARY(100);
ALTER TABLE t MODIFY hoverfly CHAR(100) CHARACTER SET gbk;

陷阱:若同步修改 my.ini 加入 default-character-set=gbk,未轉換的欄位反而會變亂碼。

最簡查詢層面解法

在執行查詢前,先送出一條 Session 級指令:

SET character_set_results = NULL;

此舉讓 MySQL 以資料原始編碼回傳,無論欄位是否已轉換編碼,皆能正確顯示中文,且已轉換的欄位仍保有正確排序能力。

操作建議

  1. 新專案:資料庫、資料表、欄位全面採用 utf8mb4(MySQL 5.5+),徹底解決編碼問題。
  2. 舊專案維護:採用上述 SET character_set_results = NULL 快速止血,再規劃全量轉碼計畫。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved