一般我們在配置文件my.cnf中添加配置:
[client] default-character-set = utf8 [mysqld] default-character-set = utf8 character-set-server = utf8 init-connect = 'SET NAMES utf8' collation-server = utf8_general_ci #可選的
創建數據庫時指定字符集:
create database zabbix character set utf8 collate utf8_bin;
在mysql連接狀態查看數據庫的字符集:
show create database zabbix_office; #查看創建數據庫的字符集
show variables like 'character%'; #查看mysql默認的字符集
修改字符集:
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 ;
客戶端連接仍然看到的是亂碼,這時要看客戶端的字符集是否和服務端的字符集一致,如果不一致的話要修改客戶端字符集:
SET NAMES 'utf8';
修改已創建數據庫的默認字符集,這個沒啥好辦法,只能導出數據,刪庫然後重新建庫指定默認的字符集。
create database zabbix character set utf8 collate utf8_bin;