LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 691|回复: 8

试了几种办法, java还是不能显示中文

[复制链接]
发表于 2010-11-8 12:06:55 | 显示全部楼层 |阅读模式
网上的方法,  像配置font properties, 下载字体, 改路径, 改字体文件名, 加命令行参数, 做fallback目录等等 --  这些我都试了, icedtea和sun-jre之间也折腾了多遍, 都不行, 中文一直是方框.  真不知道是我太笨了, 还是sun的人太笨, 一个小问题都那么难解决.
发表于 2010-11-8 12:50:48 | 显示全部楼层
java字体我也折腾很久,试了很多方法。发现还是下面这个方法最简单,而且效果也不差。

打开:/opt/sun-jdk-1.6.0.22/jre/lib/fontconfig.properties,定位到 filename.-arphic_technology_co这行,默认值是:/usr/share/fonts/arphicfonts/bsmi00lp.ttf,改成指向文泉驿就可以了:/usr/share/fonts/wqy-microhei/wqy-microhei.ttc

其他的方法的效果也和这个差不多。
回复 支持 反对

使用道具 举报

发表于 2010-11-8 17:52:03 | 显示全部楼层
一般问题处在fontconfig.properties
1.检查有没有这个文件/opt/sun-jdk-1.6.0.22/jre/lib/fontconfig.properties
2.把chinese字体的filename都改成中文字体的路径,比如
/usr/share/fonts/wqy-microhei/wqy-microhei.ttc

需要耐心仔细检查一下设置,应该可行。

Good luck!
回复 支持 反对

使用道具 举报

发表于 2010-11-8 18:51:07 | 显示全部楼层
java 早就不用弄那个 font.properties 了啊
是 sun-jdk 1.6 么?
在 /opt/sun-jdk-1.6.0.20/jre/lib/fonts 建立一个链接叫 fallback
fallback -> /usr/share/fonts/wqy-zenhei/
指向一个有中文字体的目录就行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-8 20:57:19 | 显示全部楼层
fallback好像没用,一会开机我再试一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-8 22:17:09 | 显示全部楼层
搞定了,换成sun-jre-bin,  把fontconfig.properties里有arphicfonts的行都改成正确路径。
  
昨天我好像也这么改过, 不知为什么不行, 可能是把icedtea和sun搞混了, 同样的方法icedtea下不起作用。

icedtea有人知道怎么配吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-8 22:24:55 | 显示全部楼层
好像还是不行
有的程序是好了, 但有的还是框。 同样的程序在Windows下都是好的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-8 22:57:53 | 显示全部楼层
知道原因了, 那软件默认英文字体,  在windows下能显示中文, 在linux下就非要换成中文字体才行。  估计还是有什么地方没配好, 不过我不打算折腾了, 凑合用。

icedtea仍无法显示中文, 把所有字体路径都改成中文字体也没用。 果断 emerge -C  icedtea6-bin
回复 支持 反对

使用道具 举报

发表于 2010-11-9 10:06:02 | 显示全部楼层
你系统的 locale 是什么?en_US?
试试看使用 LANG=zh_CN.utf8 xxxx 启动你的程序看看。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表