MySQL 4.1 引入字符集系統,亂碼通常源於「儲存字符集」與「連線字符集」不一致。本文給出 phpMyAdmin 介面、建庫、建表、PHP 程式碼四個層面的統一配置清單。
CREATE DATABASE db_name DEFAULT COLLATE gbk_chinese_ci;ENGINE=MyISAM DEFAULT CHARSET=gbk;ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=40;VARCHAR(100) 等字串欄位校對屬性設為 gbk_chinese_ci;數值/日期類型留空。$db->query("SET CHARACTER SET GBK");Connection Character Sets and Collations。「儲存字符集」決定資料在磁碟編碼;「連線字符集」決定客戶端/伺服器傳輸編碼。兩者不一致即產生亂碼。統一設為 GBK(或 UTF-8)並確保連線層同步設定,即可徹底解決中文亂碼。