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

徹底解決 MySQL 中文支援:編譯安裝指定 GBK/UTF8 字元集、修正 my.cnf、驗證字元集一致性

     編輯:MySQL 資料庫相關知識

問題根源

預設編譯字元集為 latin1,導致中文存儲/排序/比較錯誤,GBK/UTF8 轉換消耗資源。

完整編譯安裝流程 (Slackware Linux 範例)

  1. 移除舊套件:removepkg mysql
  2. 建立 mysql 用戶/目錄權限
  3. 下載原始碼,配置參數關鍵:
CFLAGS="-O3 -mcpu=pentium3" \
CXX=gcc \
CXXFLAGS="-O3 -mcpu=pentium3 -felide-constructors" \
./configure --prefix=/app/mysql \
  --with-charset=gbk \
  --with-extra-charsets="gbk gb2312 big5 utf8" \
  --with-unix-socket-path=/etc/mysql.sock \
  --enable-local-infile \
  --enable-thread-safe-client \
  --enable-assembler \
  --with-client-ldflags=-all-static \
  --with-mysqld-ldflags=-all-static
  • --with-charset=gbk:預設字元集設為 GBK
  • --with-extra-charsets:編入額外字元集供運行時切換
  • -mcpu:依 CPU 優化 (pentium3/athlon-xp/opteron 等)
  1. make && make install
  2. 複製配置:cp support-files/my-medium.cnf /etc/my.cnf
  3. 初始化:bin/mysql_install_db --user=root
  4. 啟動:./bin/mysqld_safe --user=root --default-character-set=gbk &
  5. 設定 root 密碼並驗證:
mysql> STATUS;
Server characterset: gbk
Db characterset: gbk
Client characterset: gbk
Conn. characterset: gbk  <-- 四者一致即成功

既有 UTF8 資料庫建立中文表腳本

CREATE TABLE t_chinese (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50) CHARACTER SET gbk,
  content TEXT CHARACTER SET utf8
) DEFAULT CHARSET=utf8;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved