目次
概要SPARC/Solaris版のJDK1.4.2_05-b04のjava.nio.charset.Charsetクラス関連が バグっていたのでメモっておきました。ちなみにbugs.sun.com上のID 6196407に既出です。 どんなバグ?alias名で内部的に利用している名前から、Charset#forName(String)とかを 使おうと思うとUnsupportedCharsetException?となります。
release noteを見ると_08でfixされてます。 テスト用コード//CharsetTest.java import java.lang.*; import java.io.*; import java.util.*; import java.nio.charset.*; public class CharsetTest { public static void main(String [] args){ // システムデフォルトの文字コード名取得 InputStreamReader in = new InputStreamReader( new ByteArrayInputStream("ほげ".getBytes())); String iname = in.getEncoding(); System.out.println(iname); Charset cset = Charset.forName(iname); System.out.println(cset); } } テスト結果%% java version "1.4.1_02a" %% Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_02a-b01) Java HotSpot(TM) Client VM (build 1.4.1_02a-b01, mixed mode) EUC_JP EUC-JP %% java version "1.4.2_05" %% Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04) Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode) eucJP-open Exception in thread "main" java.nio.charset.UnsupportedCharsetException: eucJP-open at java.nio.charset.Charset.forName(Charset.java:471) at CharsetTest.main(CharsetTest.java:34) %% java version "1.4.2_10" %% Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_10-b03) Java HotSpot(TM) Client VM (build 1.4.2_10-b03, mixed mode) EUC_JP_Solaris x-eucJP-Open %% java version "1.5.0" %% Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64) Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing) EUC_JP_Solaris x-eucJP-Open |