kapok

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

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            455 隨筆 :: 0 文章 :: 76 評論 :: 0 Trackbacks
          http://rabbit8.blogchina.com/blog/article_144619.859489.html
          再談URLEncoder
          2005年 02月16日
          有個(gè)朋友說在百度上提交的數(shù)據(jù)進(jìn)行編碼后不是我說的那樣,我試了一下,找到原因如下

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

                http://rabbit8.blogchina.com/blog/article_144619.789425.html后,有個(gè)朋友留言,說在百度試驗(yàn)的結(jié)果和我文章中說的不一致,我做了個(gè)實(shí)驗(yàn),證實(shí)JDK的幫助沒錯(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來查看"ü"的ASCII的話,得到的結(jié)果如圖:
           
                可見,UltraEdit使用的是操作系統(tǒng)默認(rèn)的編碼方式(實(shí)際上,MS采用的也不是GBK,而是另一種編碼,但效果和GBK差不多),所以它顯示的ASCII的編碼為A8 B9,就是第一和第二種情況的結(jié)果。而第三種情況才是JDK幫助中所聲明的情況。
           
                我查看了百度,提交了一下,結(jié)果和我預(yù)期的是一樣的!

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

          posted on 2005-03-09 00:44 笨笨 閱讀(755) 評論(0)  編輯  收藏 所屬分類: ALLAppFuse
          主站蜘蛛池模板: 岳普湖县| 那曲县| 林甸县| 东山县| 南京市| 南昌市| 舞阳县| 通海县| 德清县| 米林县| 新宾| 禄劝| 清河县| 双辽市| 永泰县| 武宁县| 龙泉市| 高安市| 山西省| 宝坻区| 玉门市| 沙雅县| 潞西市| 封丘县| 巴林左旗| 天祝| 防城港市| 林口县| 合阳县| 瑞昌市| 高要市| 青浦区| 襄城县| 汕尾市| 温宿县| 新宾| 桃园市| 屯留县| 庆元县| 吉林省| 新安县|