解决mysql中文乱码

2018-05-31  本文已影响0人  allenggg

我之前在使用mysql的时候,遇到了这类问题,网上看了诸多文章后,总结出以下方案。本文包含了windows和mac版下的mysql中文乱码解决方案,mysql的版本是5.7

windows

修改my.ini配置,路径:C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

配置内容如下:

[mysqld]
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'
default-time-zone='+08:00'

在[mysqld] 下面增加如上配置即可
请注意这几个参数配置的位置,不然可能会启动不起来mysql服务

这是后可以使用命令show variables like '%char%';查看编码情况

mysql> show variables like '%char%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | gbk                                                     |
| character_set_connection | gbk                                                     |
| character_set_database   | utf8                                                    |
| character_set_filesystem | binary                                                  |
| character_set_results    | gbk                                                     |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.6\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.00 sec)

另外我们在创建database的时候最好也指定编码
例如:

CREATE dababase dbname CHARACTER SET utf8 COLLATE utf8_general_ci

mac os x

在/etc目录下,使用管理员权限新建文件my.cnf,并输入以下配置:

[mysqld]
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'
default-time-zone='+08:00'

保存退出后,重启mysql。mac os x的mysql重启在偏好设置中


系统偏好设置
上一篇下一篇

猜你喜欢

热点阅读