2011-10-25 2 views
4

ここからjavaはデフォルトのエンコーディングを抽出しますか? 4のRedHatおよびCentOSのここからjavaがデフォルトのエンコーディングを抽出しますか?

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() 
       ); 
    } 
} 

5 Iは、2つの異なる結果を有する、RedHatのUTF-8とのCentOSのASCIIのために:

私は2 plateformsに次のコードを試してみました。これは、同じJavaインストールとバージョン(1.4)です。私はパラメータ-Dfile.encodingなしでjavaを起動します。

ありがとうございました。

+0

[この質問を参照](http://stackoverflow.com/questions/1749064/how-to-find-default-charset-encoding) -in-java) - あなたに影響するかもしれないバグを記述します。 – finnw

答えて

2

デフォルトのプラットフォームの文字セットは、OSから取得され、デフォルトのロケールによって異なります。異なるマシンで異なる結果が得られた場合、これらのマシンのデフォルトロケールは異なります。今はあなたのニーズにかかっています。アプリケーションがすべてのプラットフォームパス文字セットで正確に同じ方法で動作するようにしたい場合は-Dfile.encoding

+1

どのOSパラメータ、環境変数を知っていますか? –

関連する問題