mysql执行脚本出现1366错误的一种简便解决方法

最近使用脚本文件向mysql插入数据(含中文)时,出现1366错误:

ERROR 1366 (HY000): Incorrect string value: 'xE8x8BxB1xE5xAFxB8...' for column ... at row ...

出错原因是客户端的字符集与数据库里的字符集不匹配。

网上查到的方法几乎都是更改相应表的字符集:

mysql> ALTER TABLE ... CONVERT TO CHARACTER SET gbk COLLATE gbk_chinese_ci;

其实还有一种简便解决方法,即直接设置客户端的字符集:

mysql> set character_set_client=gbk

然后再执行脚本即正确完成。

PS:有同事提供了另一种方法,即将脚本文件以gbk编码格式保存再执行,测试也有效。

原文地址:https://www.cnblogs.com/wggj/p/9441092.html