GB18030, 你的產(chǎn)品達(dá)標(biāo)了么?
GB18030 的正式名稱為“中文國家標(biāo)準(zhǔn) GB 18030-2000:信息技術(shù) - 信息交換用漢字編碼字符集- 基本集的擴(kuò)充”。它是針對在中國出售的所有產(chǎn)品制定的政府強(qiáng)制標(biāo)準(zhǔn)要求,該標(biāo)準(zhǔn)于 2001 年 9 月 1 日生效。這也意味著從理論說,每個在出售的產(chǎn)品都要支持GB18030字編碼字符集,否則就不讓賣[嘿嘿,您的產(chǎn)品達(dá)標(biāo)了么?]。
有人曾經(jīng)在他的一篇blog[ http://blog.cathayan.org/archive/1/2005-7-4 ]里非常形象的介紹過 GB18030 的歷史,轉(zhuǎn)貼精彩部分如下:
1,GB2312是很老的東西了,早就發(fā)現(xiàn)不夠用了。
2,94年(還是之前)國家推出了建議性標(biāo)準(zhǔn)gb18000(還是13000我忘了),這個標(biāo)準(zhǔn)其實(shí)就是utf-8標(biāo)準(zhǔn)(除了名字,完全一樣),同時也建議微軟公司采納。--(據(jù)說是1993年,GB13000,應(yīng)該是ISO10646)
3,微軟借口說gb18000還不成熟,為了取得中國市場的壟斷地位,自己搞了一套漢字標(biāo)準(zhǔn),于是它就隨著win95和office之類的流行起來了,國家看生米已經(jīng)煮成了熟飯,只好把這套標(biāo)準(zhǔn)定為國標(biāo)GBK標(biāo)準(zhǔn)。--(其實(shí)只是指導(dǎo)性標(biāo)準(zhǔn),并非強(qiáng)制性,GB18030是強(qiáng)制性標(biāo)準(zhǔn))
4,微軟到了99年(前后吧),又說GBK已經(jīng)落伍了,現(xiàn)在流行utf-8標(biāo)準(zhǔn),準(zhǔn)備全盤轉(zhuǎn)換成utf-8,這些把有關(guān)部門惹怒了。NND,當(dāng)年我們推utf-8你說不成熟,自己搞了一套,現(xiàn)在賺得盆滿缽滿了又自己說要推utf-8了,你丫微軟分明就沒把政府放在眼里。
5,于是政府怒了,強(qiáng)制推行g(shù)b18030標(biāo)準(zhǔn)(這個標(biāo)準(zhǔn)前面兼容GBK,其他碼位兼容utf-8),算是過渡標(biāo)準(zhǔn)吧。要求微軟強(qiáng)制執(zhí)行,否則產(chǎn)品不得在大陸買。于是基本搞死了微軟的WindowsMe,差點(diǎn)搞死了Office2000(據(jù)說發(fā)行前幾個月,微軟除了改字符編碼就沒干其他什么事情)--(確實(shí),WinMe是我認(rèn)為的最差的Windows版本,而office2k也是前不著村,后不著店,前后兼容性都差)
6,由于以上歷史原因,現(xiàn)在就是GB2312,GBK,GB18030,UTF-8并存了。
7,如果不是萬惡的微軟,我們早就用上UTF-8了。
?? 或許正是因?yàn)槲④浐椭袊g為GB18030發(fā)生了這么多的恩恩怨怨和當(dāng)年微軟的倉促上陣,直到現(xiàn)在微軟的很多產(chǎn)品對GB18030支持的依然不是很好。訪問下面的頁面,了解MS對GB18030支持情況及下載Windows下的GB18030安裝包:
http://www.microsoft.com/globaldev/DrIntl/columns/015/default.mspx
雖然MS聲明在Windows XP 和 Windows 2000 中通過"add-on"來支持GB18030,但是IE 6.0直接顯示 List Box、Drop Down Menu、Text Area、Text Field中的GB18030字符依然還是有問題,下面的這篇文章有相關(guān)的介紹:
http://www-306.ibm.com/software/globalization/gb18030support/retrieve.jsp
在IBM的這篇名為"Globalize your On Demand Business"的文章里,給出的solution是在要顯示GB18030的元素上加上類似 "STYLE="font-family:'SimSun-18030'"的CSS聲明。在當(dāng)今WEB2.0如火如荼的年代,我們當(dāng)然要把內(nèi)容和顯示分離,在CSS中進(jìn)行配置!當(dāng)然實(shí)際問題要比這個文檔說的略微復(fù)雜一點(diǎn),有下面幾個比較明顯的問題:
1) 一般來說,大部分html標(biāo)簽(包括Input)都不要,但<Select> 要必須要在CSS中強(qiáng)制指定"font-family"為"SimSun-18030"。
2) 當(dāng)要為一個元素指定多個字體的時候,要將"SimSun-18030"作為首選,即放在最前面。
3) 對于大部分標(biāo)簽,當(dāng)font-family設(shè)為 SimSun-18030 時,而font-size 為:8pt,9pt,11px 時,有一部分字符比如 "㊣"和一些標(biāo)點(diǎn) 會顯示成其他的字符,對 "㊣" 這樣的字符,IE 會出現(xiàn)亂碼。原因可能是因?yàn)檫@些個font-size針對WEB做了優(yōu)化。
小結(jié):GB18030是個形式大于內(nèi)容的東西,但是如果想要讓你的產(chǎn)品理直氣壯的再中國銷售,略微花點(diǎn)時間設(shè)置一下還是有必要的。
?
posted on 2006-05-30 14:56 weidy 閱讀(873) 評論(0) 編輯 收藏 所屬分類: WEB & AJAX