Dec 23, 2009
[Apple] Mac OS X の JDK1.5, 1.6 におけるデフォルト文字エンコーディング
Mac OS X の JDK 1.5 から 1.6 でデフォルト文字エンコーディングが変わっている様なので調べてみた。
実験に使用したコード
$ vi ./Hoge.java
$ cat ./Hoge.java
public class Hoge {
public static void main(final String[] args) {
System.out.println("" + System.getProperty("file.encoding"));
}
}
$
JDK 1.5 の場合
$ /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/javac -version javac 1.5.0_22 $ /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/javac ./Hoge.java $ /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java -version java version "1.5.0_22" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03-333-10M3025) Java HotSpot(TM) Client VM (build 1.5.0_22-147, mixed mode) $ /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java Hoge UTF8 $
JDK 1.6 の場合
$ /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Commands/javac -version javac 1.6.0_17 $ /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Commands/javac ./Hoge.java $ /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Commands/java -version java version "1.6.0_17" Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-10M3025) Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode) $ /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Commands/java Hoge SJIS $
結論
Mac OS X では、JDK1.5 と 1.6 でデフォルト文字エンコーディングが下記の通り変更されている。
| 1.5.0_22 | UTF8 |
| 1.6.0_17 | SJIS |



