MySQL字符集的問題總結


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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章