目次

概要

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されてます。
少なくとも_05から_07までは対象範囲です。

テスト用コード

//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

Last-modified: 2005-11-16 15:46:34