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


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

ERROR 1366 (HY000): Incorrect string value: '\xE8\x8B\xB1\xE5\xAF\xB8...' for column ... at row ...

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

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

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

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

mysql> set character_set_client=gbk

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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM