メモの日々


2008年07月15日(火) [長年日記]

[java] デフォルトエンコーディングを変更する

SunのJavaには file.encoding というシステムプロパティがあって、これを設定するとデフォルトエンコーディングを変更できるみたい。

コマンドラインからの変更は できるようになったりできなくなったりしていた みたいたが、手元の1.6.0_07では設定できた。以下サンプルコードと実行結果。

import java.nio.charset.Charset;

public class Main {
    public static void main(String[] args) {
        System.out.println(Charset.defaultCharset().toString());
    }
}
C:\xxx>java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)

C:\xxx>java Main
windows-31j

C:\xxx>java -Dfile.encoding=UTF-8 Main
UTF-8