MySQL数据库中文插入错误解决方案及字符集设置详解

您当前的位置:   首页 > 首页 > 解决方案
MySQL数据库中文插入错误解决方案及字符集设置详解
发布时间:2026-03-10 05:10:10

MySQL数据库默认编码已经是utf8了, default-character-set = utf8,可是向数据库中表中插入中文时,却老是出现 ....xB5xA5xD1xA1 for column...这样的错误,经过查阅网上类型的错误后,发现一个很奇妙的现象,接下来我们就来开始介绍。

一、在安装数据库时就设定字符集编码为utf8的环境下

1.在当前字符集编码为:

Server characterset:    utf8   Db      characterset:    utf8   Client  characterset:    utf8   Conn.  characterset:    utf8 

下创建数据库:

(1)插入中文数据,操作不能成功。

(2)修改字符集编码为:

Server characterset:    utf8   Db       characterset:   utf8   Client  characterset:    gbk   Conn.  characterset:    gbk 

插入中文数据,显示正常。

二、在安装数据库时就设定字符集编码为gbk的环境下

1.当前字符集编码是:

Server characterset:    gbk   Db      characterset:    gbk   Client  characterset:   gbk   Conn.  characterset:   gbk  

下创建数据,插入中文数据,操作正常,显示正常。

2.当前字符集编码为utf8:

Server characterset:   gbk   Db      characterset:    utf8   Client  characterset:   utf8   Conn.  characterset:   utf8 

3.当前字符集编码为utf8:

Server characterset:    gbk   Db      characterset:    gbk   Client  characterset:   utf8   Conn.  characterset:   utf8 

插入中文数据,操作不能执行。

结论:要想能向数据库正常插入中文,必须满足以下条件:

1.要把字符集设定为能支持中文的gbk或则utf8;

2.把数据库的Client Characterset和Conn. Characterset的字符集都设定为gbk;

根据上面的提示 ,我更改了:

SET  character_set_client=gbk;   SET character_set_connection=gbk

之后再尝试想数据库插入中文,这时没有出错,能插入可是查询出来是乱码。

最后再更改; 

SET character_set_results=gbk

这样之后,所有的问题都解决了,能正常插入也能正常显示了。

关于MySQL数据库正常插入中文数据并能正常显示的条件就介绍到这里,希望通过本次的介绍能够带给您一些收获吧!