MySQL插入中文数据报错,插入失败的问题处理

朴灿烈づ我的快乐病毒、 2021-09-15 19:44 615阅读 0赞

先贴一下报错信息:

ERROR 1366 (HY000): Incorrect string value: ‘\xE6\x96\xB0\xE9\x97\xBB…’ for column ‘title’ at row1

处理办法:

我们先用语句看一下MySQL的编码方式

  1. show variables like 'character%';

在我的数据库里看到时这样的:

70

可以明显的看到 database、server的编码为latinal,下面就通过修改MySQL目录下的my.ini来处理这个问题

如果在MySQL安装目录下没有看到my.ini 可以尝试下面的方法:

修改文件夹选项,选中“显示隐藏的文件、文件夹和驱动器”

70 1

然后在C盘的根目录下,会发现隐藏文件夹 “ProgrammaData”,然后根据下面图中的路径依次打开,你可以看到my.ini文件了

70 2

用记事本或者notepad++打开my.ini ,现在开始修改:

找到【mysql】

70 3

去掉前面的# 号,在等号后加上 utf8 ,如图

70 4

然后继续往下找,找到【mysqld】

70 5

同样,去掉#号,并在等号后加上utf8

然后保存,重启mysql服务(记得把mysql的服务进程关闭,不能只是关闭命令行窗口然后重新打开)。

我们再用 show variables like ‘character%’; 来看看数据库的编码方式

70 6

可以看到已经修改成功,我们在回到刚刚的表格重新插入中文数据看看能不能插入。

很不幸,还是报错了,还是和刚才一样的错。

因为,这个数据库是我们在没有修改编码方式的时候建立的,所以它的编码方式没有被改变,这时候我们就要重新新建一个数据库和表,看看能不能插入中文

70 7

试验成功。

发表评论

表情:
评论列表 (有 0 条评论,615人围观)

还没有评论,来说两句吧...

相关阅读