如果想要java程序显示中文,就会用到jre的fonts的设置,这个位于jdk/jre/lib下面,挺多font.properties文件,这些文件就是关键。
jdk会按照如下顺序查找相应的字体设置文件。
1 先看locale,例如如果设置了zh_CN,那么会查找文件名包含zh_CN的文件,如果找不到,就用font.properties文件。
2 然后看系统,如果是Redhat,那么找包含Redhat的,如果找不到就用,font.properties.zh_CN文件。
3 如果上面这些查找过之后没有合适的,那么就使用font.properties文件了。
所以,其实解决方法也比较简单,找一个没乱码的系统,复制相应的font.properties文件就可以了。不过也得仔细查看文件中的设置,>里面提到的字体你的系统里面是不是存在。