kapok

          垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            455 隨筆 :: 0 文章 :: 76 評(píng)論 :: 0 Trackbacks
          <2005年3月>
          272812345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(28)

          隨筆分類(lèi)

          隨筆檔案

          Corba

          EAI

          Online Document

          Open Source

          Portal

          RSS Links

          Weblogic

          不錯(cuò)的鏈接

          工具集合

          數(shù)據(jù)倉(cāng)庫(kù)相關(guān)

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          http://rabbit8.blogchina.com/blog/article_144619.859489.html
          再談URLEncoder
          2005年 02月16日
          有個(gè)朋友說(shuō)在百度上提交的數(shù)據(jù)進(jìn)行編碼后不是我說(shuō)的那樣,我試了一下,找到原因如下

          關(guān)于URLEncoder的解析問(wèn)題     

                http://rabbit8.blogchina.com/blog/article_144619.789425.html后,有個(gè)朋友留言,說(shuō)在百度試驗(yàn)的結(jié)果和我文章中說(shuō)的不一致,我做了個(gè)實(shí)驗(yàn),證實(shí)JDK的幫助沒(méi)錯(cuò),原因如下:


          我的試驗(yàn)代碼如下:
          public static void main(String[] args) {
                  URLEncoder urle = null;
                 
                  //得到默認(rèn):%A8%B9
                  System.out.println("默認(rèn):" +   urle.encode("ü")); 
                  try {
                      //得到GBK:%A8%B9
                      System.out.println("GBK:" +  urle.encode("ü", "GBK"));
                  } catch (UnsupportedEncodingException e) {
                      e.printStackTrace();
                  }
                  try {
                      //得到UTF-8:%C3%BC
                      System.out.println("UTF-8:" +  urle.encode("ü", "UTF-8"));
                  } catch (UnsupportedEncodingException e) {
                      e.printStackTrace();
                  }
              }
           
                如果用UltraEdit來(lái)查看"ü"的ASCII的話,得到的結(jié)果如圖:
           
                可見(jiàn),UltraEdit使用的是操作系統(tǒng)默認(rèn)的編碼方式(實(shí)際上,MS采用的也不是GBK,而是另一種編碼,但效果和GBK差不多),所以它顯示的ASCII的編碼為A8 B9,就是第一和第二種情況的結(jié)果。而第三種情況才是JDK幫助中所聲明的情況。
           
                我查看了百度,提交了一下,結(jié)果和我預(yù)期的是一樣的!

                如果你查看頁(yè)面的源文件,會(huì)看到百度的charset為gb2312,而幫助中明確提到例子使用的是UTF-8編碼,所以出現(xiàn)了不一致的問(wèn)題,也正是因?yàn)檫@個(gè)原因,所以JDK中決定要廢棄public static String encode(String s)方法,因?yàn)檫@個(gè)方法的編碼的字符集依賴(lài)于程序運(yùn)行的系統(tǒng)的默認(rèn)的字符集!
           
                                                                               兔八哥
                                                                       2005-2-15 17:41
           

          posted on 2005-03-09 00:44 笨笨 閱讀(759) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): ALLAppFuse
          主站蜘蛛池模板: 赤峰市| 潼关县| 庄河市| 曲靖市| 武安市| 岑溪市| 睢宁县| 南漳县| 南开区| 太谷县| 罗山县| 雷波县| 江达县| 新平| 保德县| 青海省| 海兴县| 河间市| 神池县| 榕江县| 馆陶县| 麻江县| 屯昌县| 宿迁市| 鄂州市| 开原市| 吉隆县| 广水市| 磴口县| 瑞丽市| 蓬莱市| 务川| 蒙阴县| 连南| 如东县| 潮州市| 雷波县| 江达县| 长阳| 精河县| 繁峙县|