很多站長可能與織夢無憂小編一樣,覺得MYSQL數(shù)據(jù)庫即熟悉又神秘。熟悉是因?yàn)槲覀兠刻於紩玫組YSQL進(jìn)行安裝織夢程序,陌生是因?yàn)閙ysql經(jīng)常與linux聯(lián)系,是基于linux系統(tǒng)的下的應(yīng)用,而我們平常使用的都是windows主機(jī)系統(tǒng)。織夢無憂就基于自己對mysql數(shù)據(jù)庫的理解來簡單解釋一下數(shù)據(jù)庫編碼問題,希望我的文章能給使用php虛擬主機(jī)的站長用戶帶來幫助。
在mysql編碼面有兩個(gè)概念,大家都不需要知道的。一個(gè)是 字符編碼“character set”和校驗(yàn)編碼“collations”。下面我們來說說這個(gè)兩個(gè)東西。
1、 什么是字符集“character set”
數(shù)據(jù)庫都有字符集,字符集是一個(gè)非常大的概念,字符集,規(guī)定了不同字符的編碼方式,一個(gè)字符集就是一組符號和編碼。舉個(gè)例子,我們常說的“ASCII字符集”,就是包括數(shù)字、大小寫字母、分號、換行等的符合的集合,編碼方式按照一定的規(guī)律和要求進(jìn)行排序的編碼集合。如字母A的編碼是65。ASCII只規(guī)定了英文字母的編碼,不是因?yàn)樽帜傅模ㄈ缰形淖址┦悄莻€(gè)用ASCII編碼表示的。正因?yàn)槿绱?,每個(gè)國家都會為自己國家的語言做了編碼,我國的就是GB2312編碼。如果你的網(wǎng)站要用多語言,就要用utf8編碼,因?yàn)閡tf8編碼是一個(gè)國際通用編碼,utf8編碼對世界所有語言文字進(jìn)行了編碼。對于這些編碼有一個(gè)包含的概念,如GB2312編碼包含ASCII字符,UTF8編碼包含GB2312字符和ASCII字符。如果網(wǎng)站要用多語言,最合適的就是應(yīng)該用utf8編碼。
我們在使用文本存儲時(shí)候,無處不在的都涉及到編碼問題。我們常用的mysql數(shù)據(jù)庫是支持多字符集的,并且,支持在不同的字符集之間轉(zhuǎn)換,這方便不同字符集直接的移植并支持多語言,我們在遷移(移植)mysql數(shù)據(jù)庫的時(shí)候就要注意,否則就會發(fā)生數(shù)據(jù)庫亂碼問題。關(guān)于此有一些常用術(shù)語,你是應(yīng)該了解:
字符:漢字、英文字母、標(biāo)點(diǎn)符號、拉丁文等等。
編碼:將字符換成計(jì)算機(jī)存儲的格式,如ASCII將字母A變成65進(jìn)行存儲。
字符集:一組字符以及對應(yīng)的編碼方式。
2、 什么是校驗(yàn)“collations”
“collations”是“校驗(yàn)”的意思。這個(gè)校驗(yàn)編碼都是在mysql數(shù)據(jù)庫中使用,其作用是指導(dǎo)mysql對字符的比較,和整理。我們在進(jìn)行網(wǎng)頁開發(fā)過程中,大家基本上可以忽略collations校驗(yàn),我們使用數(shù)據(jù)庫中默認(rèn)的校驗(yàn)編碼就可以了。
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: MYSQL數(shù)據(jù)庫編碼原理