问题原因
网上说的是表内某字段的编码方式与表,与数据库不一致。但我认为原因是:你输入的是汉字,就得用汉字相关的编码方式,utf8可以,gb2312也可以,但是啥latin应该就不行了
解决办法
首先要查看一下表的ddl信息,说白了就是你创建表使用的mysql语言,代码如下:
SHOW CREATE TABLE 表名;
请注意,如果你熟悉命令行,可以用命令行输代码,如果是用的Navicat或者sqlyog之类的,就直接在软件里面输入就可以,然后找输出的信息(sqlyog执行完是只显示执行是否成功,不直接显示信息,打开表数据旁边的信息栏就可以了)

可以看到,编码方式是latinl,这显然不支持输入汉字,可以用下边的修改:
ALTER TABLE 表名 CHANGE 列名 列名 数据类型(长度) CHARACTER SET 要设置的编码格式;
博客讲述了遇到MySQL插入汉字时出现的错误'Incorrect string value...',原因是表字段编码与数据库编码不匹配。解决方案包括检查表的DDL信息,确认并更改表的字符集为支持汉字的编码如utf8或gb2312。
订阅专栏 解锁全文

2万+

被折叠的 条评论
为什么被折叠?



