隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827218
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          中文亂碼問題產(chǎn)生的由來

           在計算機中,只有二進制的數(shù)據(jù),不管數(shù)據(jù)是在內(nèi)存中,還是在外部設(shè)備上。
          對于我們所看到的字符,也是以二進制數(shù)據(jù)的形式存在的。不同的字符對應(yīng)的
          二進制數(shù)的規(guī)則,就是字符的編碼。字符編碼的集合稱為字符集。

          常用的字符集
          1 ASCII
          2 ISO8859-1
          3 GB2312和GBK

            每個國家(或者區(qū)域)都規(guī)定了計算機信息交換用的字符編碼集,這就造成了
          交流上的困難。想象一下,你發(fā)送一封中文郵件給一位遠在西班牙的朋友,當(dāng)郵件
          通過網(wǎng)絡(luò)發(fā)送出去的時候,你所書寫的中文字符會按照本地的字符集GBK轉(zhuǎn)換成二進制
          編碼數(shù)據(jù),然后發(fā)送出去。當(dāng)你的朋友接收以郵件(二進制數(shù)據(jù))后,查看信件時,會
          按照他所用的系統(tǒng)的字符集,將二進制數(shù)據(jù)解碼為字符,然而由于兩種字符集之間編碼
          規(guī)則的不同,導(dǎo)致轉(zhuǎn)換出現(xiàn)亂碼。這是因為,在不同的字符集之間,同樣的數(shù)字可能對
          應(yīng)了不同的符號,也可能在另一種字符集中,該數(shù)字沒也對應(yīng)的符號。
            為解決上述問題,統(tǒng)一全世界的字符編碼,由Unicode協(xié)會制定并發(fā)布了Unicode編碼。
          4 Unicode
          5 UTF-8

          對亂碼產(chǎn)生過程的分析

            字符數(shù)據(jù)在各種不同的字符集之間轉(zhuǎn)換時,就有可能會出現(xiàn)亂碼。
            xml處理器在沒有被預(yù)先通知的情況下會默認文檔數(shù)據(jù)為UTF-8格式。
          這樣在你書寫xml文檔時,就存在了UTF-8字符集和本地字符進行轉(zhuǎn)換的過程。
          當(dāng)向xml文檔中寫入數(shù)據(jù)的時候,需要將本地字符集編碼的數(shù)據(jù)轉(zhuǎn)換為UTF-8
          ,而在輸出字符數(shù)據(jù)的時候,則需要將UTF-8編碼轉(zhuǎn)換為本地字符集編碼。
          從上述的過程來看,寫入和輸出的過程是可逆的。理應(yīng)不會出現(xiàn)中文亂碼問題
          然而,實際應(yīng)用的情形,比上述的過程要復(fù)雜的多。在WEB應(yīng)用中,通過都包括
          瀏覽器、WEB服務(wù)器、WEB應(yīng)用程序和數(shù)據(jù)庫等部分,每一部分的都有可能使用不
          同的字符集,從而導(dǎo)致數(shù)據(jù)在各種字符之間轉(zhuǎn)換時,出現(xiàn)了亂碼問題。



          posted on 2007-09-20 21:46 Ke 閱讀(4464) 評論(0)  編輯  收藏 所屬分類: encoding
          主站蜘蛛池模板: 保靖县| 湘潭县| 蓬莱市| 友谊县| 河源市| 历史| 淳安县| 芜湖市| 始兴县| 蒲江县| 凤庆县| 海南省| 陵川县| 房产| 瓦房店市| 开原市| 嘉黎县| 和田市| 靖远县| 定结县| 九江县| 密云县| 凌云县| 柳林县| 兴山县| 二手房| 商城县| 化德县| 太康县| 平利县| 汝州市| 宁南县| 北川| 永济市| 普陀区| 宜春市| 怀远县| 阿尔山市| 颍上县| 当阳市| 恩施市|