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

MySQL 5 中文亂碼終極解決:兩行配置徹底修正

     編輯:MySQL 資料庫相關知識

問題現象

MySQL 5.x 儲存/讀取中文出現亂碼(如 ????、亂碼符號),歷經多方嘗試無效。

解決方案(僅需兩步)

  1. 修改伺服器配置(/etc/my.cnf 或 my.ini):

[mysql]
default-character-set=utf8
  1. JDBC/連線字串加入參數:

jdbc:mysql://host:3306/dbname?useUnicode=true&characterEncoding=utf-8

PHP 同理:mysql_connect(..., true) 並 mysql_set_charset('utf8') 或 PDO DSN 加 charset=utf8。

驗證


mysql> STATUS;
...
Server characterset: utf8
Db     characterset: utf8
Client characterset: utf8
Conn.  characterset: utf8
...

四者皆為 utf8 即成功。

補充:utf8 vs utf8mb4

MySQL 5.5+ 建議全面改用 utf8mb4(支援 Emoji、補充字元),配置同理:characterEncoding=utf8mb4、default-character-set=utf8mb4。

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