Correct display of characters depends on the JVM and its locale-dependent font configuration. For example, on Linux/x86, in Sun JDK 1.3.1 de_DE, zh_CN work IBM JDK 1.3.0 de_DE, sr_YU work - ja_JP, zh_CN don't work (displays squares) Sun JDK 1.4.2 de_DE, sr_YU work - ja_JP, zh_CN don't work (displays squares)