摘要:mysql数据库执行sql脚本报错ERROR 1366 (HY000): Incorrect string value: '\xC6\xF4\xD3\xC3' for column 'name' at row 1
登录mysql
[root]mysql -uroot -p
[root]123456
导入sql
mysql>source /cd/example/cd.sql
ERROR 1366 (HY000): Incorrect string value: '\xC6\xF4\xD3\xC3' for column 'name' at row 1
解决思路:
1、检查对应数据库脚本该表是不是utf8编码
2、检查报错的column 是不是utf8编码
修改MySQL该字段的字符集与整理规则即可。假设数据表为phplamp, SQL语句的字符集为utf8,出错的字段为address:
(1) #检查数据表所有字段的状态
(2) ->show full columns from phplamp;
(3) #发现address字段的Collation项非utf8,修改它!
(4)->alter table phplamp change name name varchar(100) character set utf8 collate utf8_unicode_ci not null default '';
修改完字段的字符集后可以再使用show full columns from table_name命令检查一下,以确保万无一失。假如您的SQL字符集为GBK或是GB2312或是其它的话,只需要将数据表字段的字符集更改为其相应的编码即可。
3、如果上边两条都没问题,直接输入带中文的插入语句发现没报错,那么就说明你的sql文件编码不对
用记事本打开cd.sql,另存为uft8格式文件,重新执行source /cd/example/cd.sql,发现ok