<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-17  評論-6  文章-1  trackbacks-0

    http://www.javaworld.com/javaworld/jw-04-2004/jw-0419-multibytes_p.html

    多字節(jié)字符在J2EE中的處理
    --多字節(jié)字符的J2EE開發(fā)

    摘要
    大多數(shù)J2EE服務(wù)器對多字節(jié)字符語言(中文和日文)支持的很好,但是不同的J2EE服務(wù)器和瀏覽器支持的方式不同。當(dāng)開發(fā)者從一個服務(wù)器移植中文應(yīng)用到另一個時,總是遇到多字節(jié)字符問題。在本文里,Wang Yu分析了產(chǎn)生此種問題的根本原因,并提供了一些解決方案和指導(dǎo)方針。

    中文是世界上最復(fù)雜、最綜合的語言之一。有時我很慶幸自己是中國人,尤其我看到我的外國朋友為學(xué)好中文特別是寫漢字而奮斗的時候。但當(dāng)開發(fā)J2EE本地化應(yīng)用,卻無法慶幸了。本文將告訴你為什么。
    盡管java平臺和大多數(shù)J2EE服務(wù)器很好的支持國際化,開發(fā)中文應(yīng)用時我仍然遇到很多多字節(jié)字符問題:
    編碼和字符集之間的區(qū)別是什么?
    為什么多字節(jié)字符應(yīng)用在不同操作系統(tǒng)間有不同的顯示?
    為什么多字節(jié)字符應(yīng)用在不同應(yīng)用服務(wù)器間有不同的顯示?
    為什么多字節(jié)字符應(yīng)用在不同瀏覽器間有不同的顯示?
    為什么大多數(shù)J2EE服務(wù)器不能很好的支持UTF-16(universal transformation format)編碼。
    本文將幫你解答這些疑問。

    字符的基礎(chǔ)知識
    字符在計算機發(fā)明之前就已經(jīng)存在了。3000多年以前,甲骨文出現(xiàn)在古代中國。這些字符有特有的形象和意思,大部分有名字和發(fā)音。所有這些方面構(gòu)成字符集(character repertoire),一組特有語言的截然不同的字符,與計算機沒有一點關(guān)系。過去的幾千年里,創(chuàng)造出許多種語言和數(shù)千的字符。現(xiàn)在我們試著將這些字符編碼成計算機能理解的1和0的串。
    當(dāng)用鍵盤打字時,你涉及字符輸入方法。對于簡單字符,存在字符和建碼的一一對應(yīng)。對于復(fù)雜語言,一個字符需要多個擊鍵。
    當(dāng)你看到屏幕上字符之前,操作系統(tǒng)必須存儲字符在內(nèi)存。實際上,操作系統(tǒng)定義了字符和非負(fù)整數(shù)的一一對應(yīng),保存在內(nèi)存中。這些整數(shù)被稱為字符碼(character code)。
    字符能存儲在文件中或通過網(wǎng)絡(luò)傳輸。字符編碼(character encoding )定義了如何映射一個字符的字符碼到字節(jié)的序列。一些字符碼映射到單字節(jié),如ASCII,一些映射到多字節(jié),如中文、日文,依賴于不同的字符編碼。
    不同的語言有不同的字符表,每一個字符表用特有的編碼格式。通常,當(dāng)選擇了語言,就選擇了對應(yīng)的字符表、編碼格式。比如,選擇中文,默認(rèn)就選擇了GBK中文字符表和GBK編碼格式。
    我避免術(shù)語字符集(character set),因為它帶來混淆,顯然character set和character repertoire是同義詞。Character set被HTTP Mime 頭誤用了,charset被誤用做encoding。
    Java的特性之一是16位的字符,支持Unicode,表示不同語言不同字符的標(biāo)準(zhǔn)方法。不幸的是,這種方法在J2EE開發(fā)中引起許多問題。
    導(dǎo)致顯示問題的不同開發(fā)階段
    J2EE開發(fā)包括幾個階段(圖一);每一個階段都能導(dǎo)致多字節(jié)字符顯示問題。
    編碼階段
    編碼時大多用IDE如JB、NetBeans,或編輯器如UE、vi。不管選擇什么,如果在jsp、java、html文件中有多字節(jié)字符串,如果不小心就會遇到顯示問題。

    posted on 2005-10-18 13:40 小鐵匠 閱讀(364) 評論(0)  編輯  收藏 所屬分類: java

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费国产作爱视频网站| 最近的中文字幕大全免费8| 国产亚洲中文日本不卡二区| 亚洲美女视频一区二区三区| 牛牛在线精品免费视频观看| 亚洲av午夜国产精品无码中文字| 久久综合日韩亚洲精品色| 香港a毛片免费观看 | 亚洲精品一卡2卡3卡四卡乱码| 日韩精品亚洲aⅴ在线影院| 嫩草视频在线免费观看| 99精品免费观看| 亚洲成a人片在线观看播放| 久久精品国产亚洲AV无码娇色| 亚洲AV中文无码乱人伦| 国产一区二区三区在线观看免费| 毛片免费全部播放一级| 99久久久国产精品免费无卡顿| 最近最好最新2019中文字幕免费| 亚洲国产综合精品中文字幕 | 久久久久亚洲AV无码去区首| 亚洲妇女无套内射精| 久久亚洲欧洲国产综合| 亚洲国产综合无码一区二区二三区 | 久久伊人免费视频| 又大又硬又爽又粗又快的视频免费| 国产精品免费看久久久| 免费无码一区二区三区| 久久久久久99av无码免费网站| 久久久久免费看黄A片APP| 午夜dj免费在线观看| 国产免费一区二区视频| 亚洲精品无码人妻无码| 两个人看的www免费视频| 日本免费久久久久久久网站| 69av免费视频| 精品一区二区三区免费毛片爱| 国产免费无码一区二区| 精品国产污污免费网站入口在线| 国产成人亚洲精品蜜芽影院| 亚洲一区欧洲一区|