MySQL不支持中文、将编码修改为utf-8,仍不支持中文问题解决方案

今天在向MySQL插入中文字符的时候,发现有警告,插入的字符全是问号。

上网查了下,发现是字符编码的问题。。。。

完美解决这个问题的方案在是修改mysql的配置文件,ubantu系统默认的mysql文件位置在:/etc/mysql/my.cnf。

vim /etc/mysql/my.cnf。

然后在[client]下添加:
default-character-set=utf8。

在[mysqld]下添加:
default-character-set=utf8

然后重启mysql,然后问题来了。。。mysql竟然起不来了。。。告诉我start faild。。。。

然后有查了一下,找到了问题的原因,新版本的mysql【具体多新我忘了。。。】在修改字符编码的时候,在[mysqld]下不能添加default-character-set=utf8,而是需要添加:
character-set-server=utf8
collation-server=utf8_general_ci

于是修改配置文件,重启mysql,成功了。

SHOW VARIABLES LIKE ‘character%’;命令得到结果如下:
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+

但是问题来了。。。。。还是不能添加中文。。。。然后这个问题纠结了好久。。。。什么set names XX,什么修改各种参数,都试过了。。。。。最后终于找到了解决方案。。。。

在修改mysql字符编码之后,之前已经建好的表,已经修改不了了。。。只有新建的表,才能支持中文。。。新建表!新建表!新建表!

你可能感兴趣的:(mysql)