依赖于AWT的绘图组件,在Linux下运行里可能会发现,图片里的中文全部显示为方框。
而在使用AWT的Font时,我们指定都是Java中的虚拟字体,显示为方框是因为虚拟字体对应不到操作系统的实际字体。
我们的程序在一台Fedora12的Linux下出现了乱码,而在RHLE5上却没有这个问题。
尝试修改fedora的语言和编码设置,没有作用。
按照网上的一种简单方式解决了这个问题。
就是
1、在linux上,$JAVA_HOME\jre\lib\fonts下面创建fallback目录
2、直接从xp系统c:\windows\fonts下面复制simsun.ttc文件,复制到fallback目录下,
3、假设JAVA_HOME=/usr/java/jdk1.5.0_22,执行下来命令:
ln -s /usr/share/fonts/truetype/simsun.ttf /usr/java/jdk1.5.0_22/jre/lib/fonts/fallback/simsun.ttf
就可以了。
本文介绍了解决Linux环境下使用AWT时遇到的中文乱码问题。通过在$JAVA_HOME/jre/lib/fonts目录下创建fallback文件夹并放置中文字体文件simsun.ttf,可以有效解决由虚拟字体映射问题导致的乱码现象。
1086

被折叠的 条评论
为什么被折叠?



