mysql中文乱码无法显示问题

使用mysql的时候发现中文会乱码,中文显示为问号,网上找了资料但都没能成功,在多次查找资料和设置后终于解决了这个问题

首先我们要选择字符编码问题,因为mysql默认的编码是latin1,要想显示中文那么我们可以设置它的默认编码为utf8或者gbk或者其它编码,这里我们设置成utf8,以debian为例,mysql版本号为5.5.31

然后我们修改/etc/mysql/my.cnf文件

在[client]下面添加

default-character-set = utf8
在[mysqld]下面添加
character_set_server=utf8
default-storage-engine=InnoDB
collation-server=utf8_general_ci

注意这里的character_set_server,据说是5.5以后的版本才有的,5.5版本之前并不是这个参数
然后我们重启下mysql
sudo service mysql restart

我们可以查看下

mysql> show variables like “%char%”;
+————————–+—————————-+
| 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/ |
+————————–+—————————-+

可以看到已经设置默认为utf8了

–阅读次数(226)

发表评论

电子邮件地址不会被公开。

*