MySQL 中文識別問題一直是開發者的痛點。本文記錄作者在使用 WampServer 環境下,歷經一夜摸索後找到的有效解決方案,並分析為何修改配置檔無效、為何必須在建立資料庫時指定字元集。
直接安裝 WampServer 後,在 my.ini 找不到對應的字元編碼配置。嘗試透過命令列設定:
SET character_set_server = gbk; -- 設定伺服器字元編碼【1】 SET character_set_database = gbk; -- 設定資料庫字元編碼【2】 show variables like 'character%'; -- 查詢所有字元編碼【3】
重啟 MySQL 後發現設定並未生效,新增資料仍無法識別中文。
最終發現,在建立資料庫時直接指定字元集為 gbk 可完美相容中文:
create database 資料庫名 character set gbk; -- 【4】
MySQL 客戶端預設不識別 utf-8,若在建庫、建表時未明確指定字元集,會沿用預設的 latin1,導致中文存入時發生編碼轉換錯誤,產生亂碼。雖然也可修改預設配置,但在團隊協作中容易遺漏,最穩妥的做法是在建立資料庫與資料表時顯式指定字元集。
SET character_set_server = gbk; SET character_set_database = gbk; show variables like 'character%'; create database 資料庫名 character set gbk;