今天我在学习MySQL时遇到一个问题:用cmd窗口往表中添加汉字发现添加不上,报ERROR 1366 (HY000): Incorrect string value: '\xBC\xBE\xBE\xFC' for column 'name' at row 1这个错。我猜测是编码的问题,于是查了我的mysql的编码都是utf8的,按理说是不会出错的。后来我在看别人的博客时发现这个问题出在哪了。

原来是我使用的cmd窗口是使用gbk的编码的,mysql和cmd的编码是冲突的,所以导致往表中添加汉字失败。

解决方案:

1 在mysql软件上将编码设置为utf8,直接使用mysql把汉字添加到表中

show variables like "%character%"//显示mysql中的编码

 

 set character_set_client=utf8;//把mysql中的client端的编码格式修改为utf8

将这些属性的编码设置为utf8后,我们可以直接在mysql里将汉字输入到表中

2 修改mysql中的属性的编码使其和cmd窗口的编码相同,在cmd窗口上把汉字输入到表中。

  set names gbk;//将mysql中的编码格式修改与cmd相匹配。

  使用 show variables like "%character%"显示mysql中的编码格式。

posted on 2019-09-25 20:18  慕容锤  阅读(552)  评论(0编辑  收藏  举报