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

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

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

    j2ee 中文 編碼

    Posted on 2006-04-05 18:59 英雄 閱讀(385) 評(píng)論(0)  編輯  收藏 所屬分類: java積累

    1.編碼
    ? ASCII碼:128個(gè)碼位。
    ? iso8859-1:又稱為L(zhǎng)atin-1 256個(gè)碼位。
    ? 從計(jì)算機(jī)的應(yīng)用開始,我國(guó)已經(jīng)頒布了多種中文信息編碼標(biāo)準(zhǔn),
    ? 常用的是GB2312-1980,GB12345,GB13000(GBK),以及最新標(biāo)準(zhǔn)GB18030。向下兼容。
    ? 值得一提的是,最新的GB18030標(biāo)準(zhǔn)將要作為強(qiáng)制標(biāo)準(zhǔn)實(shí)行,所有不支持GB18030標(biāo)準(zhǔn)的軟件將不能作??? 為?產(chǎn)品出售。
    ? gb2312:[1~2個(gè)字節(jié)]
    ? 漢字:第一個(gè)字節(jié)的值在0xB0到0xF7之間,第二個(gè)字節(jié)的值在0xA0到0xFE之間。
    ? gb12345,gb13000:[1~2個(gè)字節(jié)]
    ? 漢字:大致為第一個(gè)字節(jié)的值在0x81到0xFE之間,第二個(gè)字節(jié)的值在0x40到0xFE之間。
    ? gb18030:[1~4個(gè)字節(jié)]
    ? 單字節(jié),其值從0到0x7F
    ? 雙字節(jié),第一個(gè)字節(jié)的值從0x81到0xFE,第二個(gè)字節(jié)的值從0x40到0xFE(不包括0x7F)
    ? 四字節(jié),第一個(gè)字節(jié)的值從0x81到0xFE,第二個(gè)字節(jié)的值從0x30到0x39,第三個(gè)字節(jié)的值從0x81到0xFE,第四個(gè)字節(jié)的值從0x30到0x39。
    ? unicode:
    ? UCS-2:[統(tǒng)一2個(gè)字節(jié)][現(xiàn)在用的unicode]65536個(gè)碼位。
    ? UCS-4:[統(tǒng)一4個(gè)字節(jié)]以防將來不夠用的2的31次方個(gè) 碼位。
    ? codepage:
    ? 各國(guó)編碼和unicode的對(duì)應(yīng)表
    ? UTF編碼:
    ? UTF是“UCS Transformation Format”的縮寫。UTF-8 編碼字符理論上可以最多到 6 個(gè)字節(jié)長(zhǎng),可以編入? 所有可能的2的31次方個(gè) UCS 代碼,是變字節(jié)編碼。
    以上編碼統(tǒng)一兼容ascii.
    2.j2ee中文問題解決
    ? 構(gòu)架情景:
    ? 前臺(tái)顯示通過jsp,html;中間java的filter,servelt處理請(qǐng)求;后臺(tái):java通過jdbc driver同數(shù)據(jù)庫(kù)交互。
    ? 基礎(chǔ):
    ? 1]java運(yùn)行總是以u(píng)nicode為內(nèi)存中存在形式。如:string s="中文";s在運(yùn)行時(shí)內(nèi)存是unicode編碼。
    ? 2]數(shù)據(jù)庫(kù)有一個(gè)存儲(chǔ)編碼集。表示了采用存儲(chǔ)的形式。如:表中記錄一個(gè)字段值為"中文",在數(shù)據(jù)庫(kù)中以該編碼集編碼存在。
    ? 3]html有一個(gè)網(wǎng)頁(yè)編碼,可以通過meta指定。
    ? 流程:
    ? 1)瀏覽器獲得的html總是來源于3個(gè)方面:
    ? 1,java直接輸出response,reponse.setContenttype指定編碼
    ? 2,jsp<content type指定編碼
    ? 3, html<meta指定編碼
    ? 前兩種在指定時(shí)都同時(shí)把生成的html數(shù)據(jù)按指定編碼編碼傳過來了[把內(nèi)存unicode轉(zhuǎn)成對(duì)應(yīng)編碼]。
    ? 后1種的實(shí)際編碼要看實(shí)際存儲(chǔ)的時(shí)候如何存儲(chǔ)的。
    ? 這樣瀏覽器按指定編碼把獲得的html解碼顯示出來。
    ? 2)瀏覽器發(fā)送數(shù)據(jù)時(shí)
    ? url根據(jù)ie設(shè)置可以總是以rtf-8發(fā)送,表單數(shù)據(jù)默認(rèn)采用網(wǎng)頁(yè)編碼發(fā)送,當(dāng)然也可以指定。
    ? 3)java接受數(shù)據(jù)后首先把url按iso-8859-1解析,得到request參數(shù)。然后可以通過在request.setEncod~來按指定編碼解析表單數(shù)據(jù)[編碼的unicode轉(zhuǎn)化],否則默認(rèn)按iso-8859-1解析。
    ?? 4)java訪問數(shù)據(jù)庫(kù)通過jdbc driver。jdbc driver負(fù)責(zé)完成unicode和db默認(rèn)編碼的轉(zhuǎn)化。
    ? 問題列舉:
    ? 如果傳遞的html含有中文,而編碼默認(rèn)指定為iso-8859-1,出現(xiàn)亂碼
    ? 如果url中含有中文以rtf-8發(fā)送,java不處理會(huì)出現(xiàn)問題。
    ? 如果瀏覽器發(fā)送的form數(shù)據(jù)含有中文,而沒有通過對(duì)應(yīng)編碼解析request,得到的參數(shù)會(huì)出現(xiàn)問題。
    ? 如果jdbc driver出現(xiàn)bug,比如mysql,會(huì)導(dǎo)致亂碼。
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?

    ?

    主站蜘蛛池模板: 久草视频在线免费| 2021国内精品久久久久精免费| 国产成在线观看免费视频| 亚洲国产精品久久久久秋霞小| 日本系列1页亚洲系列| 免费看黄的成人APP| 亚洲日本va中文字幕久久| 男女一边桶一边摸一边脱视频免费| 中文字幕av免费专区| 国产自偷亚洲精品页65页| 99在线视频免费观看| 亚洲avav天堂av在线不卡| 久久久免费的精品| 亚洲理论在线观看| 亚洲人成网站免费播放| 亚洲色在线无码国产精品不卡| 午夜无遮挡羞羞漫画免费| 亚洲第一中文字幕| 18禁美女黄网站色大片免费观看 | 亚洲中久无码不卡永久在线观看| 日韩在线观看免费完整版视频| 在线亚洲人成电影网站色www| 毛片在线全部免费观看| 亚洲黑人嫩小videos| 天天摸天天操免费播放小视频| 国产亚洲福利一区二区免费看 | 国产成人青青热久免费精品| 午夜在线免费视频| 中文字幕亚洲精品资源网| 免费三级毛片电影片| 婷婷亚洲综合一区二区| 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 免费一区二区三区在线视频| 国产亚洲精品美女久久久| 真人做A免费观看| 久久久久亚洲精品美女| 成人网站免费观看| 国产特黄一级一片免费| 亚洲H在线播放在线观看H| 亚洲日本va午夜中文字幕久久| 久久ww精品w免费人成|