<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)致亂碼。
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?

    ?

    主站蜘蛛池模板: 久久WWW色情成人免费观看| 久久午夜夜伦鲁鲁片无码免费| 国产香蕉免费精品视频| 亚洲AV成人片色在线观看高潮| 丰满妇女做a级毛片免费观看| 啊灬啊灬别停啊灬用力啊免费看| 亚洲av无码专区在线电影天堂 | 免费人成视频x8x8入口| 在线视频亚洲一区| 小小影视日本动漫观看免费| 亚洲成在人线在线播放无码| 日韩一级免费视频| 看免费毛片天天看| 亚洲日本韩国在线| 野花香高清在线观看视频播放免费| 亚洲va中文字幕无码久久不卡| 亚洲国产精品免费视频| 亚洲精品国产电影午夜| 在线成人a毛片免费播放| 豆国产96在线|亚洲| 亚洲伊人成无码综合网| 中文字幕无码日韩专区免费| 久久久亚洲裙底偷窥综合| 无码乱肉视频免费大全合集| 亚洲色www永久网站| 亚洲AⅤ优女AV综合久久久| 丁香花在线观看免费观看图片| 亚洲爱情岛论坛永久| 国产成人yy免费视频| 苍井空亚洲精品AA片在线播放| 国产黄色一级毛片亚洲黄片大全| 日本免费在线中文字幕| 色偷偷女男人的天堂亚洲网 | 亚洲无码在线播放| 182tv免费视视频线路一二三| 亚洲综合激情五月丁香六月| 亚洲国产成人a精品不卡在线| 日本黄色动图免费在线观看| 国产99在线|亚洲| 亚洲综合伊人久久大杳蕉| 91麻豆最新在线人成免费观看|