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

MySQL 1366 錯誤 (Incorrect string value) 解決方案:字符集配置不匹配

     編輯:MySQL 綜合教學

MySQL 1366 錯誤 (Incorrect string value) 解決方案:字符集配置不匹配

現象

插入中文資料時報錯:ERROR 1366 (HY000): Incorrect string value: '\xE4\xB8\xAD\xE6\x96\x87' for column ...

根因

MySQL 預設字符集為 latin1,不支援中文字元。資料庫/表/欄位/連線字符集任一環節非 utf8 即會報錯。

永久修正:修改配置檔

  1. 編輯 my.ini (Windows) 或 my.cnf (Linux),在 [mysqld] 區段加入:
    default-storage-engine=INNODB
    character-set-server=utf8
    collation-server=utf8_general_ci
  2. 在 [client] 區段加入:
    default-character-set=utf8
  3. 重啟 MySQL 服務。

臨時修正 (僅當前會話)

SET NAMES utf8;
-- 或
SET character_set_connection=utf8, character_set_client=utf8, character_set_results=utf8;

驗證

SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
-- 應全部顯示 utf8 / utf8_general_ci

注意:修改配置檔後若無法啟動,請檢查語法縮排與編碼;建議先備份原配置。

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