码迷,mamicode.com
首页 > 数据库 > 详细

Mysql中关于 错误 1366 - Incorrect string value: ‘\xE5\xBC\xA0\xE4\xB8\x89‘ for column ‘name‘ at row 1

时间:2020-02-07 00:46:00      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:规则设置   创建   use   ima   tail   char   ref   oss   新建   

原文:Mysql中关于 错误 1366 - Incorrect string value: ‘\xE5\xBC\xA0\xE4\xB8\x89‘ for column ‘name‘ at row 1

在向数据库中添加英文测试数据时没问题,但是添加中文测试数据时发现一个错误:1366 - Incorrect string value: ‘\xE5\xBC\xA0\xE4\xB8\x89’ for column ‘name’ at row 1。

解释为:1366 - 字符串值不正确:第1行的列’name’为’\ xE5 \ xBC \ xA0 \ xE4 \ xB8 \ x89’
技术图片
出现这个问题的原因是你的数据库编码、排序类型不是utf-8的,所以你创建的表的排序规则自然也不是utf-8类型的。如下:people表是正常支持中文的,user表是错误1366的,看他们排序规则区别。技术图片

为什么会出现这种情况?

在mysql中新建数据库,如果只写数据库名,没有设置字符集和排序规则,默认字符集为latin1 ,排序规则为latin1_swedish_ci 如下:
技术图片
我尝试把数据库的字符集设为utf-8,把排序规则设置为utf8_general_ci,同时把表的排序规则也设置为utf8_general_ci,但是仍然不可以用,我看有博主说是mysql默认的配置文件是/etc/my.cnf或者/etc/mysql/my.cnf 我没找到这个文件,我的解决办法就是把表删了重新创建的,然后就可以了

总结:只要数据库存储中文数据,创建数据库的时候千万别忘了设置字符集为utf-8。

Mysql中关于 错误 1366 - Incorrect string value: ‘\xE5\xBC\xA0\xE4\xB8\x89‘ for column ‘name‘ at row 1

标签:规则设置   创建   use   ima   tail   char   ref   oss   新建   

原文地址:https://www.cnblogs.com/lonelyxmas/p/12271547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!