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

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827240
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          中文亂碼問題產生的由來

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

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

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

          對亂碼產生過程的分析

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



          posted on 2007-09-20 21:46 Ke 閱讀(4464) 評論(0)  編輯  收藏 所屬分類: encoding
          主站蜘蛛池模板: 阿图什市| 阳山县| 肇东市| 城口县| 台北县| 吉木萨尔县| 南靖县| 榆社县| 海口市| 漳平市| 秭归县| 腾冲县| 清丰县| 广元市| 高台县| 库车县| 会同县| 中江县| 扎囊县| 红河县| 静海县| 河东区| 二手房| 镇安县| 剑河县| 芦溪县| 延吉市| 丹阳市| 武安市| 古浪县| 治县。| 建昌县| 临潭县| 三台县| 家居| 铜陵市| 富阳市| 柳州市| 肃南| 诸城市| 蒙自县|