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

MySQL 中文亂碼與 Incorrect string value 徹底解決方案

     編輯:MySQL 綜合教學

MySQL 中文亂碼與 Incorrect string value 徹底解決方案

問題一:Incorrect string value 錯誤

安裝 MySQL 時未選擇正確的預設校對規則。須在安裝過程中將 Default Collation 設為 UTF-8 相關選項(如 utf8_general_ci),而非 latin1。重新安裝並正確選擇即可解決。

問題二:資料庫讀出中文顯示亂碼

即使資料庫預設編碼正確,資料表與欄位層級仍可獨立設定 Collation。需檢查並統一調整:

資料表 Collation 設定 欄位 Collation 設定

三層編碼一致性原則

  1. 頁面宣告編碼 = 資料庫內部編碼
    例:網頁 ``,資料庫須為 UTF-8
  2. 頁面檔案儲存編碼 = 頁面宣告編碼
    檔案以 UTF-8 儲存,宣告也要是 UTF-8
  3. 連線字串指定編碼
    JDBC: jdbc:mysql://localhost:3306/db?characterEncoding=utf-8
    PHP: mysqli_set_charset($conn, 'utf8')

PHP 專屬排查步驟

  1. 確認網頁檔案編碼與 `` 一致
  2. 確認資料庫、資料表、欄位 Collation 皆為 UTF-8 系列
  3. 連線建立後立即執行 SET NAMES utf8
  4. 若仍異常,檢查資料寫入時是否已經亂碼(從源頭攔截)

快速驗證指令

SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved