2011-10-25 45 views
4

從哪裏java提取默認編碼?從哪裏java提取默認編碼?

我試圖2個plateforms以下代碼:紅帽4和CentOS 5

public class EncodingTest { 
    public static void main(String args[]) throws Exception{ 
    System.out.println(System.getProperty("file.encoding")); 
    System.out.println(
       new java.io.OutputStreamWriter(
           new java.io.ByteArrayOutputStream()).getEncoding() 
       ); 
    } 
} 

我有兩個不同的結果,紅帽UTF-8和用於centos的ASCII。這是相同的Java安裝和版本(1.4)。我沒有參數-Dfile.encoding啓動java。

謝謝。

+0

請參見[this question](http://stackoverflow.com/questions/1749064/how-to-find-default-charset-encoding -in-java) - 它描述了一個可能會影響你的bug。 – finnw

回答

2

默認的平臺字符集取自操作系統,取決於默認的語言環境。如果你在不同的機器上得到不同的結果,這些機器有不同的默認語言環境現在這取決於你的需求。如果您希望您的應用程序在所有平臺上使用完全相同的方式傳遞字符集,請使用-Dfile.encoding

+1

你知道哪個OS參數,環境變量? –