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

MySQL 4.1/5.x 亂碼問題徹底解決方案:phpMyAdmin、資料庫、資料表、連線四層字符集配置

     編輯:MySQL 資料庫相關知識

MySQL 4.1 引入字符集系統,亂碼通常源於「儲存字符集」與「連線字符集」不一致。本文給出 phpMyAdmin 介面、建庫、建表、PHP 程式碼四個層面的統一配置清單。

四層統一配置清單

  1. phpMyAdmin 介面語系與連線校對
    語言:Chinese Simplified (zh-utf-8)
    MySQL 字符集:UTF-8 Unicode (utf8)
    MySQL 連線校對:gbk_chinese_ci
  2. 建立資料庫時指定校對
    CREATE DATABASE db_name DEFAULT COLLATE gbk_chinese_ci;
  3. 建立資料表指定字符集
    ENGINE=MyISAM DEFAULT CHARSET=gbk;
    ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=40;
  4. 檢查欄位屬性
    VARCHAR(100) 等字串欄位校對屬性設為 gbk_chinese_ci;數值/日期類型留空。
  5. PHP 程式碼強制設定連線字符集
    $db->query("SET CHARACTER SET GBK");
    Linux 環境必要,Windows 視情況可省略。相當於設定 Connection Character Sets and Collations。

核心原理

「儲存字符集」決定資料在磁碟編碼;「連線字符集」決定客戶端/伺服器傳輸編碼。兩者不一致即產生亂碼。統一設為 GBK(或 UTF-8)並確保連線層同步設定,即可徹底解決中文亂碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved