关于insert中文是出现 error 1366(HY000): Incorrect string value: 错误

出现这个错误时先考虑设置的字符集是否支持你输入的中文,我之前是按MySql默认用的utf8(注意我的写法utf8,而不是UTF-8),于是我打算改,在网上查了输入alter table tbname convert to charset gbk;但还是出现 error 1366(HY000): Incorrect string value: 错误,然后我发现一个很有效的方法就是,你找到my.ini这个文件(位置在C:\MySQL\MySQL Server 5.5\my.ini,具体要看你安装在哪个文件夹里),my.ini里有你安装时的配置,当然也有字符集的配置,我索性改了default-character-set=GB2312
character-set-server = GB2312,然后保存,重启mysql,发现之前带中文的语句执行了!

后来我想再试试UTF-8行不行,我就把my.ini里面的default-character-set=UTF-8
character-set-server = UTF-8,然后退出mysql重启,突然发现character set 'UTF-8' is not a compiled character set and is not specified in the这个错误。。。。我就顺着找到C:\MySQL\MySQL Server 5.5\share\charsets\Index.xml这个文件(这里面有所有mysql支持的字符集声明),发现

<charset name="utf8">
  <family>Unicode</family>
  <description>UTF-8 Unicode</description>
  <alias>utf-8</alias>
  <collation name="utf8_general_ci"	id="33">
   <flag>primary</flag>
   <flag>compiled</flag>
  </collation>
  <collation name="utf8_bin"		id="83">
    <flag>binary</flag>
    <flag>compiled</flag>
  </collation>
</charset>

name="utf8"...知道UTF-8为什么不成了吧!赶快改过来default-character-set=utf8

character-set-server=utf8;但是又出现了error 1366(HY000): Incorrect string value:。。。我之后又试了gbk,没有错误。。

总结就是出现 error 1366(HY000): Incorrect string value: 错误首先把my.ini的2个选项改成 gbk或者GB2312(不用改成utf8),就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值