在建立數據庫和數據表的時候,能夠選擇對應字符編碼方式,如utf8,gbk,gb2312等等。也能夠在後面修改表的Collation配置。html
因此數據表的Collation配置必須可以表示表中的中文字符,這是最基本的要求。而後字符必須是使用該Collation兼容的字符集來編碼的,這樣才能正常顯示和被mysql處理。mysql
能夠經過以下命令查看字符集變量值:sql
show variables like 'char%'; character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir D:\HwsApacheMaster\mysql\share\charsets\ SHOW VARIABLES LIKE 'collation%'; # Variable_name, Value collation_connection, utf8_general_ci collation_database, utf8_general_ci collation_server, utf8_general_ci
這些變量的含義和做用,參見官方文檔解釋: Connection Character Sets and Collations。數據庫
中文亂碼的基本緣由:編碼
這三個系統參數的做用:code
故這幾個系統參數的值須相同,否則以不一樣的編碼方式傳送數據,若編碼方式不兼容,則容易形成亂碼的問題。server
客戶端經過以下相似命令能夠修改上述三個參數的字符集值:htm
set names gb2312;
可是該命令沒法修改character_set_server變量的值,所以須要注意是否匹配一致。ci