首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

微信開發中 MySQL 亂碼問題排查與修復

     編輯:MySQL 綜合教學

微信開發中 MySQL 亂碼問題排查與修復

現象

調用微信 API 獲取用戶信息(含中文)入庫後,數據庫顯示 ?? 亂碼。

根因分析

字符編碼不一致:微信返回 UTF-8,但 MySQL 連接層/表字符集非 UTF-8,導致存入時轉換損壞。

修復步驟

  1. 修改配置文件 /etc/mysql/my.cnf(或 /etc/my.cnf):
[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

注意:MySQL 版本不同參數名可能差異,若重啟失敗報 job failed to start、socket 沒連接,請對照版本文檔調整(如 5.7+ 建議 utf8mb4)。

  1. 重啟 MySQL:systemctl restart mysqld 或 service mysql restart
  2. 驗證字符集:
    SHOW VARIABLES LIKE 'character_set_%';
    STATUS;
    SHOW FULL COLUMNS FROM user;

最佳實踐建議

  • 全鏈路 UTF-8(推薦 utf8mb4 支持 Emoji):應用層 SET NAMES utf8mb4、連接池配置 characterEncoding=utf8mb4、表字符集 CHARSET=utf8mb4。
  • 微信開發涉及 Emoji 必須用 utf8mb4,否則 4 字節字符會截斷報錯。
  • 避免「錯進錯出」臨時方案,源頭統一編碼最省心。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved