本篇文章給大家?guī)淼膬?nèi)容是關于mysql數(shù)據(jù)庫的字符編碼問題,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。【推薦教程:mysql教程】
一、通過命令行顯示字符集設置
show?variables?like?'character_set%';
第一個,character_set_client 是發(fā)送數(shù)據(jù)的字符集編碼。
第二個,character_set_connection是連接數(shù)據(jù)庫時的字符集編碼。
第三個,character_set_results 是返回結果時的字符集編碼。
第三個,character_set_database是當前數(shù)據(jù)庫的字符集編碼。
第五個,character_set_server是服務器的字符集編碼。
第六個,character_set_system是數(shù)據(jù)庫標識符的編碼,比如數(shù)據(jù)庫名,表名,字段名等。
發(fā)送過程:client(客戶端發(fā)送編碼)——->connection(數(shù)據(jù)連接編碼)——->[服務器內(nèi)部編碼]——>返回結果編碼。
二、字符集和校驗規(guī)則
1、校對規(guī)則。
校對規(guī)則包含三部分:字符集編碼_語言地區(qū)_比較規(guī)則。
字符集編碼:gbk ,? ?utf8? ?等都是字符集編碼。
比較規(guī)則:ci? ?cs? ? bin? ?三種。
2、查看校對規(guī)則:
show?collation?like?'xxxx';//模糊查詢 show?collation;
例如:show collation like ‘gbk%’;? ?其實這句話時對庫的查詢。
3、gbk_ci? 和gbk_bin的區(qū)別
gbk_ci校對規(guī)則是不區(qū)分字母大小寫,但是gbk_ci通過拼音來排序了。這一特性utf8_generation_ci是沒有的。
gbk_bin是通過字符Ascall編碼來排序的。
可以通過語句:
select?*?from?tbl_name?order?by?字段名;//檢驗
4、gbk和utf8的選用
當存儲的是漢字時,用gbk字符集,占用兩個字節(jié)。而用utf8要占用3個字節(jié)。但是gbk只適合大陸網(wǎng)站,utf8適合世界標準。至于如何選用要看做的方向。