MySQL ERROR 1366(HY000):Incorrect string value:''for column''at row 1解決方案

maohaiqing0304發表於2015-05-12



標題: MySQL ERROR 1366(HY000):Incorrect string value:''for column''at row 1解決方案

作者:lōττéry©版權所有[文章允許轉載,但必須以連結方式註明源地址,否則追究法律責任.]



前言:
今天在source db_patch.sql 執行sql時報 ERROR 1366 (HY000): Incorrect string value: '\xCE\xDE\xB5\xC8\xBC\xB6' for column 'name' at row 12錯

原因:
sql檔案字符集編碼和資料庫或表的字符集不符 

*** 資料庫和表字符集 都是 utf8 
*** 檔案字符集 ISO-8859

解決方案:  將.sql檔案字符集改為utf-8[資料庫字符集] 【本環境方案】

如下為三種不同環境的更改字符集方案 

1) Linux 更改檔案編碼

[root@lottery ~]# file db_patch.sql        --檢視檔案字符集編碼

db_patch.sql: ISO-8859 text, with very long lines, with CRLF line terminators 

[root@lottery ~]# iconv -f ISO-8859-1 -t UTF-8 db_patch.sql > db_patch1.sql    --更改檔案字符集另存為一個新檔案

引數介紹:  
-f, --from-code=名稱 原始文字編碼
-t, --to-code=名稱 輸出編碼
-l,--list 列舉所有已知的字符集 
心細的人可能會發現 -f後是   ISO-8859-1  而非fille 看到的 ISO-8859編碼
那是因為執行  iconv -f ISO-8859 -t  UTF-8  db_patch.sql > db_patch1.sql 
    報錯資訊: iconv: 不支援以“ISO-8859”為源頭的轉換
                     試用“iconv --help”或“iconv --usage”以獲取更多資訊。
[root@lottery ~ ]# iconv -l|grep ISO-8859     --列一下iso-8859編碼號資訊
ISO-8859-1//
ISO-8859-2//
ISO-8859-3//
ISO-8859-4//
ISO-8859-5//
ISO-8859-6//
ISO-8859-7//
ISO-8859-8//
ISO-8859-9//
ISO-8859-9E//
ISO-8859-10//
ISO-8859-11//
ISO-8859-13//
ISO-8859-14//
ISO-8859-15//
ISO-8859-16//
[root@lottery ~ ]# 所以隨意找一個ISO-8859-1// 進行轉換即可..

轉換後的字符集檢視

          [root@lottery ~]# file db_patch1.sql 

          db_patch1.sql: UTF-8 Unicode text,with very long lines, with CRLF line terminators

          [root@lottery ~]#

          mysql> source db_patch1.sql;

          Query OK, 2 rows affected (0.00 sec)

          Records: 2  Duplicates: 0  Warnings: 0

          mysql> 

 

2)Windows上更改檔案編碼 ,開啟檔案 另存為時下端編碼部分設定utf-8 

       

      再執行另存為utf-8格式的檔案即可..

3) 資料庫上更改字符集

      set names utf-8   
      
      生產環境建議衡量下,避免對其他會話 其他客戶端有影響..


  【源於本人筆記】 若有書寫錯誤,表達錯誤,請指正... 


此條目發表在 MySQL 分類目錄。將固定連線加入收藏夾。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28602568/viewspace-1651067/,如需轉載,請註明出處,否則將追究法律責任。

相關文章