-
Bug
-
Resolution: Fixed
-
P3
-
2.0
-
None
-
b71
-
sparc
-
solaris_9
CharsetEncoder.canEncode(ch) != CharsetEncoder.canEncode("" + ch) for some Charsets?
I ran this simple test with JDK 5 and JDK 6 on Mac OSx and Windows XP,
SortedMap<String, Charset> map = Charset.availableCharsets();
for (Charset cs : map.values()) {
try {
CharsetEncoder encoder = cs.newEncoder();
char ch = '\u5185';
if (encoder.canEncode(ch) != encoder.canEncode("" + ch))
System.out.println("Encoder: " + cs.name() + " failed");
} catch (Exception e) {
//System.out.println("Encoder: " + cs.name() + " Error");
}
}
It failed
JDK 5 (1.5.0_15) windows xp:
Encoder: ISO-2022-KR failed
Encoder: x-IBM1381 failed
Encoder: x-IBM1383 failed
Encoder: x-IBM942 failed
Encoder: x-IBM942C failed
Encoder: x-IBM943 failed
Encoder: x-IBM943C failed
JDK 6 (1.6.0_04) Windows xp:
Encoder: x-ISO-2022-CN-CNS failed
Mac Osx (JDK 5 1.5.0_13)
Encoder: MacRoman failed
Encoder: x-IBM1381 failed
Encoder: x-IBM1383 failed
Encoder: x-IBM942 failed
Encoder: x-IBM942C failed
Encoder: x-IBM943 failed
Encoder: x-IBM943C failed
I ran this simple test with JDK 5 and JDK 6 on Mac OSx and Windows XP,
SortedMap<String, Charset> map = Charset.availableCharsets();
for (Charset cs : map.values()) {
try {
CharsetEncoder encoder = cs.newEncoder();
char ch = '\u5185';
if (encoder.canEncode(ch) != encoder.canEncode("" + ch))
System.out.println("Encoder: " + cs.name() + " failed");
} catch (Exception e) {
//System.out.println("Encoder: " + cs.name() + " Error");
}
}
It failed
JDK 5 (1.5.0_15) windows xp:
Encoder: ISO-2022-KR failed
Encoder: x-IBM1381 failed
Encoder: x-IBM1383 failed
Encoder: x-IBM942 failed
Encoder: x-IBM942C failed
Encoder: x-IBM943 failed
Encoder: x-IBM943C failed
JDK 6 (1.6.0_04) Windows xp:
Encoder: x-ISO-2022-CN-CNS failed
Mac Osx (JDK 5 1.5.0_13)
Encoder: MacRoman failed
Encoder: x-IBM1381 failed
Encoder: x-IBM1383 failed
Encoder: x-IBM942 failed
Encoder: x-IBM942C failed
Encoder: x-IBM943 failed
Encoder: x-IBM943C failed