posts - 7,comments - 1,trackbacks - 0

我们项目经常会发现在Linux下(目前是在AX unix下),java应用程序的中文会变成一个一个的“口”字,这样会给我们的使用带来很多的困扰。但是我们又不愿意放弃Linux和java的便捷。
怎么来解决这个问题呢?

其实,要解决这个问题也挺简单。

咱们首先来说说产生这个问题的原因。java程序启动的时候会去在$JAVA_HOME/jre/lib/fonts目录下寻找相应的字体来显示。由于JDK默认没有中文字体,所以我们需要手工的来设置一下,让java应用程序能够找到相应的中文字体。这样就能够解决问题了

基本步骤如下:
1)cd $JAVA_HOME/jre/lib/fonts
2)mkdir fallback
3)cp xxx.ttf fallback    #xxx.ttf代表你想要的中文字体文件

其实,我们可以一条命令解决这个问题。将Linux系统的字体目录作为JDK下面的一个字体目录连接。

ln -s $FONTS_PATH/FONT_DIR $JAVA_HOME/jre/lib/fonts/fallback

你在打开你的java应用程序就会看到久违的中文了。

此解决方案在weblogic重启后发现不行了,再重启也不好用!于是我又去网上找到了其他的解决方案,方案如下:

使用jfreechart显示中文为方框,原因是aix5.3没有truetype字体。
aix平台中文TrueType字体配置
第一步:
进入 /usr/java14/jre/lib 目录,备份现有的 font.properties 文件,然后用
font.properties.zh_CN.Redhat 覆盖 font.properties 文件。
当前的环境设置 LANG=C
第二步:
font.properites 文件的最后一行直接指出了字体文件的位置为

/usr/share/fonts/zh_CN/TrueType/zysong.ttf
现在需要准备这个字体文件。
把redhat 的 /usr/share/fonts/zh_CN/TrueType/ 目录打包为 font.tar.gz

第三步:
把 font.tar.gz 拷贝到aix平台,解压缩到相同的目录。

第四步:
重新启动weblogic,jfreechart显示正常。


posted on 2008-04-28 11:04 小胡子 阅读(885) 评论(0)  编辑 收藏 引用 所属分类: 技术知识
只有注册用户登录后才能发表评论。