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

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

看了一下 还真不是

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

SQL语句报错:Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...'_第1张图片

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

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

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

SQL语句报错:Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...'_第2张图片

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

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

SQL语句报错:Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...'_第3张图片

先改了第一列的编码:ALTER TABLE signup MODIFY tname VARCHAR(10) CHARACTER SET "utf8";  然后又试着插入了一次,第一列就正常插入中文了!于是剩下几列做同样的操作,都正常插入了:

SQL语句报错:Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...'_第4张图片

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

 

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

转载于:https://www.cnblogs.com/littleLittleTiger/p/11029473.html

你可能感兴趣的:(SQL语句报错:Incorrect string value: '\xE9\x98\xBF\xE6\x96\xAF...')