Ubuntu16.04中MySQL之中文不能插入问题

转自:http://blog.csdn.net/fr555wlj/article/details/55668476

今天下午在学习MySQL时,向表中插入一条数据含有中文,结果报错如下, 
ERROR 1366 (HY000): Incorrect string value: ‘\xE8\xA2\x81\xE7\x92\x90…’ 
经过多次寻找度娘,大致明白了原因是编码的问题。 
进入MySQL终端,输入show variables like 'character%';显示如下: 
Variable_name | Value | 
+————————–+—————————-+ 
| character_set_client | utf8 | 
| character_set_connection | utf8 | 
character_set_database | latin1 | 
| character_set_filesystem | binary | 
| character_set_results | utf8 | 
character_set_server | latin1 | 
| character_set_system | utf8 | 
| character_sets_dir | /usr/share/mysql/charsets/ | 
+————————–+—————————-+ 
加黑部分就是不能正常显示的原因,需要将编码格式更改为utf8格式,修改过程如下: 
修改MySQL的配置文件

sudo vim /etc/mysql/conf.d/mysql.cnf

  

我修改之后的配置文件如下所示:

[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

  

之后需要再重启一下MySQL,即可成功。

service mysql restart

(如果没有service命令,可以用sudo)  

但是原有的数据库还是不能插入中文,因为它们的编码格式仍然不是utf8.

我将测试的数据库删除后重建了...

posted @ 2017-06-21 16:10  悟空的爸爸  阅读(2142)  评论(0编辑  收藏  举报