MySQL ERROR 1366(HY000):Incorrect string value:''for column''at row 1解決方案
前言:
今天在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
生產環境建議衡量下,避免對其他會話 其他客戶端有影響..
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28602568/viewspace-1651067/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 亂碼實戰解決ERROR 1366 (HY000): Incorrect string value: 'MySqlError
- mysql 報錯:ERROR 1366 (HY000): Incorrect string value: ‘\xD5\xC5\xC8\xFD‘ for column ‘name‘ at row 1MySqlError
- 【MySQL報錯】1366 - Incorrect string value: ‘\xE6\x80\xBB\xE7\xBB\x8F...‘ for column ‘name‘ at row 1MySql
- 安裝mysql遇到ERROR: 1136 Column count doesn't match value count at row 1MySqlError
- mysql執行sql指令碼報錯ERROR 1366 (HY000) 解決MySql指令碼Error
- MYSQL寫入資料時報錯ERROR 1366 (HY000): Incorrect string value: '\xE8\x8B\xB1\xE5\xAF\xB8...' for c 插入中文不能插...MySqlError
- 【MySQL】Incorrect string value 問題一則MySql
- PHP連線SQL資料庫無法顯示emoji表情的解決辦法(變成問號、1366 Incorrect string value)PHPSQL資料庫
- 解決:java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x92\x94‘ for columnJavaSQLException
- MySQL插入資料1366錯誤解決方案MySql
- java.sql.SQLException: Incorrect string valueJavaSQLException
- MySQL-修改表的編碼和列的編碼-Incorrect string value: '\xE6\xB1\x9F\xE5\xAE\x81...' for column 'unitname' at rowMySql
- MySQL錯誤Incorrect file format解決方案薦MySqlORM
- mysql 主從同步 Error 'Out of range value for column的問題MySql主從同步Error
- mysql Unknown column ‘‘ in ‘field list‘解決方案MySql
- MySQL案例02:ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGESMySqlError
- Error format not a string literal and no format arguments解決方案ErrorORM
- MySQL: Incorrect string value: '\xF0\xA4\xBD\x82'分析MySql
- 解決一個小坑:error on line 1 at column 1: Document is emptyError
- Flutter 之 Row、Column詳解Flutter
- pymysql.err.OperationalError: (1136, “Column count doesn‘t match value count at row 1“)報錯反省。MySqlError
- Flutter之Row/Column用法詳解Flutter
- MySQL 5.7 建立使用者報錯 ERROR 1805 (HY000): Column count of mysql.user is wrongMySqlError
- ERROR 1114 (HY000): The table 'test1' is full 的解決Error
- Flutter 佈局(七)- Row、Column詳解Flutter
- ERROR 1290 (HY000) 解決辦法Error
- ORACLE匯出文字到MYSQL 報錯 Incorrect integer value: ''OracleMySql
- 解決 Incorrect datetime value: '0000-00-00 00:00:00' 報錯
- mysql Index column size too large 超過767錯誤解決方案(轉)MySqlIndex
- ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default valueError
- Error: no such columnError
- [mysql]error while loading shared libraries: libaio.so.1: 解決方案MySqlErrorWhileAI
- Convert DataFrame string complex i to j python // “Cloning” row or column vectorsPython
- Mybatis Data truncation: Truncated incorrect DOUBLE value: '*'MyBatis
- MYSQL ERROR 2003 (HY000) CanMySqlError
- ERROR 2002 (HY000): Cant connect to local MySQL server through socket的解決方法ErrorMySqlServer
- mysql 1558 - Column count of mysql.proc is wrong 的解決MySql
- 解決ERROR 1030 (HY000): Got error 168 from storage engine apparmorErrorGoAPP