import java.util.*; import java.nio.*; import java.nio.charset.*; /** * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6196991 */ public class Test { public static void main(String[] args) { for (Iterator it = Charset.availableCharsets().values().iterator(); it.hasNext();) { Charset charset = (Charset) it.next(); try { if (!"A".equals(roundTrip(charset, "A")) || !"ABC".equals(roundTrip(charset, "ABC"))) { System.out.println("Broken charset: " + charset.name()); System.out.flush(); } } catch (UnsupportedOperationException ex) { System.out.println("Cannot perform roundtrip: " + charset.name()); System.out.flush(); } } } static String roundTrip(Charset cs, String str) { return cs.decode(cs.encode(str)).toString(); } }