mysql中文乱码问题

来源:互联网 发布:基于oracle的sql优化 编辑:程序博客网 时间:2024/06/01 07:32

使用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了
0 0
原创粉丝点击