一般我们在配置文件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;