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

MySQL 5.0.16 中文亂碼專項解決方案

     編輯:MySQL 資料庫相關知識

環境背景

MySQL 5.0.16 版本特有的字符集處理機制,導致中文存取亂碼,需從 phpMyAdmin、建庫、建表、程式碼四個層面統一設定。

解決步驟

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. 建表 SQL 指定字符集

-- MyISAM
CREATE TABLE t (...) ENGINE=MyISAM DEFAULT CHARSET=gbk;

-- InnoDB
CREATE TABLE t (...) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=40;

4. 檢查欄位屬性

  • VARCHAR 類型欄位:整理屬性設為 gbk_chinese_ci
  • 其他類型:整理屬性留空

5. PHP 程式碼設定連線字符集

$db->query("SET CHARACTER SET GBK");

注意:Linux 環境必須加此行,Windows 環境通常不需要。

原理說明

此操作等同於設定 Connection Character Sets and Collations,確保 Client → Server → Database → Table → Column 字符集鏈路一致,避免隱式轉換導致亂碼。

現代版本建議

MySQL 5.5+ 建議全鏈路使用 utf8mb4 + utf8mb4_unicode_ci,徹底解決多語言與 Emoji 儲存問題。

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