kapok

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

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            455 隨筆 :: 0 文章 :: 76 評論 :: 0 Trackbacks
          <2005年3月>
          272812345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(28)

          隨筆分類

          隨筆檔案

          Corba

          EAI

          Online Document

          Open Source

          Portal

          RSS Links

          Weblogic

          不錯的鏈接

          工具集合

          數據倉庫相關

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

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

          關于URLEncoder的解析問題     

                http://rabbit8.blogchina.com/blog/article_144619.789425.html后,有個朋友留言,說在百度試驗的結果和我文章中說的不一致,我做了個實驗,證實JDK的幫助沒錯,原因如下:


          我的試驗代碼如下:
          public static void main(String[] args) {
                  URLEncoder urle = null;
                 
                  //得到默認:%A8%B9
                  System.out.println("默認:" +   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的話,得到的結果如圖:
           
                可見,UltraEdit使用的是操作系統默認的編碼方式(實際上,MS采用的也不是GBK,而是另一種編碼,但效果和GBK差不多),所以它顯示的ASCII的編碼為A8 B9,就是第一和第二種情況的結果。而第三種情況才是JDK幫助中所聲明的情況。
           
                我查看了百度,提交了一下,結果和我預期的是一樣的!

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

          posted on 2005-03-09 00:44 笨笨 閱讀(761) 評論(0)  編輯  收藏 所屬分類: ALLAppFuse
          主站蜘蛛池模板: 哈密市| 和林格尔县| 淄博市| 葵青区| 田东县| 武穴市| 台南市| 临汾市| 临邑县| 资中县| 芒康县| 赤峰市| 晋城| 古交市| 沙湾县| 河曲县| 浮山县| 达日县| 东丽区| 壤塘县| 新郑市| 容城县| 镇雄县| 北流市| 五华县| 清丰县| 沧州市| 醴陵市| 肃宁县| 修武县| 刚察县| 通州市| 瓮安县| 西城区| 宝丰县| 惠东县| 紫阳县| 叶城县| 赞皇县| 呼和浩特市| 太仓市|