ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

          這個話題來自: Nutz的issue 361

          在考慮這個issue時, 我一直傾向于使用系統變量file.encoding來改變JVM的默認編碼.

          今天,我想到, 這個系統變量,對JVM的影響到底有多大呢?
          我使用最簡單的方法看看這個變量的影響–在JDK 1.6.0_20的src.zip文件中,查找包含file.encoding字眼的文件.
          共找到4個, 分別是:
          先上重頭戲 java.nio.Charset類:

          View Code JAVA
              public static Charset defaultCharset() {
                      if (defaultCharset == null) {
                      synchronized (Charset.class) {
                      java.security.PrivilegedAction pa =
                      new GetPropertyAction("file.encoding");
                      String csn = (String)AccessController.doPrivileged(pa);
                      Charset cs = lookup(csn);
                      if (cs != null)
                      defaultCharset = cs;
                      else
                      defaultCharset = forName("UTF-8");
                      }
                      }
                      return defaultCharset;
                      }

          java.net.URLEncoder的靜態構造方法,影響到的方法 java.net.URLEncoder.encode(String)

          View Code JAVA

          com.sun.org.apache.xml.internal.serializer.Encoding的getMimeEncoding方法(209行起)

          View Code JAVA

          最后一個javax.print.DocFlavor類的靜態構造方法:

          View Code JAVA

          可以看到,系統變量file.encoding影響到
          1. Charset.defaultCharset() Java環境中最關鍵的編碼設置
          2. URLEncoder.encode(String) Web環境中最常遇到的編碼使用
          3. com.sun.org.apache.xml.internal.serializer.Encoding 影響對無編碼設置的xml文件的讀取
          4. javax.print.DocFlavor 影響打印的編碼

          故,影響還是很大的哦, 可以說是Java中編碼的一個關鍵鑰匙!

          posted on 2011-01-31 14:28 ivaneeo 閱讀(4041) 評論(0)  編輯  收藏 所屬分類: java魔力
          主站蜘蛛池模板: 寿宁县| 边坝县| 松滋市| 苏尼特右旗| 永嘉县| 渑池县| 林州市| 绩溪县| 宿松县| 东宁县| 濉溪县| 安国市| 望都县| 广西| 张家口市| 洛南县| 卢氏县| 临城县| 晴隆县| 马山县| 博客| 潮州市| 大厂| 勃利县| 潜江市| 扬中市| 宁化县| 永城市| 禄丰县| 峨山| 庆阳市| 诸暨市| 余姚市| 长兴县| 郧西县| 石狮市| 乡宁县| 南开区| 玛多县| 南充市| 临泉县|