一、通過命令行顯示字符集設置
show variables like 'character_set%';
第一個,character_set_client 是發送數據的字符集編碼。
第二個,character_set_connection是連接數據庫時的字符集編碼。
第三個,character_set_results 是返回結果時的字符集編碼。
第三個,character_set_database是當前數據庫的字符集編碼。
第五個,character_set_server是服務器的字符集編碼。
第六個,character_set_system是數據庫標識符的編碼,比如數據庫名,表名,字段名等。
發送過程:client(客戶端發送編碼)------->connection(數據連接編碼)------->[服務器內部編碼]------>返回結果編碼。
二、字符集和校驗規則
1、校對規則。
校對規則包含三部分:字符集編碼_語言地區_比較規則。
字符集編碼:gbk , utf8 等都是字符集編碼。
比較規則:ci cs bin 三種。
2、查看校對規則:
show collation like 'xxxx';//模糊查詢
show collation;
例如:show collation like 'gbk%'; 其實這句話時對庫的查詢。
3、gbk_ci 和gbk_bin的區別
gbk_ci校對規則是不區分字母大小寫,但是gbk_ci通過拼音來排序了。這一特性utf8_generation_ci是沒有的。
gbk_bin是通過字符Ascall編碼來排序的。
可以通過語句:
select * from tbl_name order by 字段名;//檢驗
4、gbk和utf8的選用
當存儲的是漢字時,用gbk字符集,佔用兩個字節。而用utf8要佔用3個字節。但是gbk只適合大陸網站,utf8適合世界標準。至於如何選用要看做的方向。