我之前在使用mysql的時(shí)候肚豺,遇到了這類問題移斩,網(wǎng)上看了諸多文章后,總結(jié)出以下方案悦穿。本文包含了windows和mac版下的mysql中文亂碼解決方案,mysql的版本是5.7
windows
修改my.ini配置业踢,路徑:C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
配置內(nèi)容如下:
[mysqld]
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'
default-time-zone='+08:00'
在[mysqld] 下面增加如上配置即可
請(qǐng)注意這幾個(gè)參數(shù)配置的位置栗柒,不然可能會(huì)啟動(dòng)不起來(lái)mysql服務(wù)
這是后可以使用命令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)
另外我們?cè)趧?chuàng)建database的時(shí)候最好也指定編碼
例如:
CREATE dababase dbname CHARACTER SET utf8 COLLATE utf8_general_ci
mac os x
在/etc目錄下,使用管理員權(quán)限新建文件my.cnf知举,并輸入以下配置:
[mysqld]
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'
default-time-zone='+08:00'
保存退出后瞬沦,重啟mysql。mac os x的mysql重啟在偏好設(shè)置中