一般我们在配置文件my.cnf中添加配置:
1
2
3
4
5
6
7
8
|
[client] default-character- set = utf8
[mysqld] default-character- set = utf8
character- set -server = utf8
init-connect = 'SET NAMES utf8'
collation-server = utf8_general_ci #可选的
|
创建数据库时指定字符集:
1
|
create database zabbix character set utf8 collate utf8_bin;
|
在mysql连接状态查看数据库的字符集:
1
|
show create database zabbix_office; #查看创建数据库的字符集
|
1
|
show variables like 'character%' ; #查看mysql默认的字符集
|
修改字符集:
1
2
3
4
5
6
7
8
|
SET character_set_client = utf8 ; SET character_set_connection = utf8 ; SET character_set_results = utf8 ; SET character_set_database = utf8 ; SET character_set_server = utf8 ; SET collation_connection = utf8 ; SET collation_database = utf8 ; SET collation_server = utf8 ; |
客户端连接仍然看到的是乱码,这时要看客户端的字符集是否和服务端的字符集一致,如果不一致的话要修改客户端字符集:
1
|
SET NAMES 'utf8' ;
|
修改已创建数据库的默认字符集,这个没啥好办法,只能导出数据,删库然后重新建库指定默认的字符集。
1
|
create database zabbix character set utf8 collate utf8_bin;
|