欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL语句报错:Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...'

程序员文章站 2022-10-08 19:38:53
很明显是编码的问题。检查了一下$conn->query("set names utf8");已经加在代码里了。那莫非是数据库编码不是utf8? 看了一下 还真不是 于是右键要修改的表,点击alter table,做了如下修改。 不报任何期望的重启了服务器又试了一次 果然还是那个错。。。。 这种场面我 ......

很明显是编码的问题。检查了一下$conn->query("set names utf8");已经加在代码里了。那莫非是数据库编码不是utf8?

看了一下 还真不是

于是右键要修改的表,点击alter table,做了如下修改。

SQL语句报错:Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...'

不报任何期望的重启了服务器又试了一次

果然还是那个错。。。。 这种场面我见多了,早就看淡了。所以接着排查问题。

发现在sql语句复制到数据库执行也是这个亚子,中文用命令添加完全不行,但是手动添加却是正常的:

SQL语句报错:Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...'

 听网上的把编码改成utf8mb4依然不行

然后!嘿嘿,照着百度经验最后这个试了下:

SQL语句报错:Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...'

先改了第一列的编码:alter table signup modify tname varchar(10) character set "utf8";  然后又试着插入了一次,第一列就正常插入中文了!于是剩下几列做同样的操作,都正常插入了:

SQL语句报错:Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...'

phpweb的问题也就迎刃而解了。

 

(其实我不知道为什么我同学做的都那么顺利,到我这就各种牛鬼蛇神出来跟我斗,可能有意磨练我吧/摊手,还好我是见过大风大浪的人,心态好。)