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

Posted in Apple | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |