+ -
当前位置:首页 → 问答吧 → 一个在Debian下面Java程序成乱码(小方框)的解决方法送给大家

一个在Debian下面Java程序成乱码(小方框)的解决方法送给大家

时间:2006-07-23

来源:互联网

情况:
在Linux下面使用这个程序,汉字部分显示的是小方框。这个错误说明没有相应的字体,并不是出现的乱码。解决方法如下:

在Java的安装目录下面(JAVA_HOME)/sailing/sailingProg/jdk15/

进入/sailing/sailingProg/jdk15/jre/lib

首先,将fontconfig.properties.src进行备份(转换成fontconfig.properties.src.bak)

然后将文件fontconfig.RedHat.2.1.properties.src复制一个附件为:fontconfig.properties

(其实复制哪一个文件都无所谓,因为最终还是需要调整里面的内容。这里就以这个fontconfig.RedHat.2.1.properties.src为例)

打开新创建的这个fontconfig.properties文件

在下面有这么一段描述:
filename.-arphic-ar_pl_mingti2l_big5-medium-r-normal--*-%d-*-*-c-*-big5-0=/usr/share/fonts/ttf/bsmi00lp.ttf
filename.-arphic-ar_pl_sungtil_gb-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0=/usr/share/fonts/ttf/gbsn00lp.ttf
filename.-baekmuk-batang-medium-r-normal--*-%d-*-*-c-*-ksc5601.1987-0=/usr/share/fonts/ko/TrueType/batang.ttf
filename.-baekmuk-batang-bold-r-normal--*-%d-*-*-c-*-ksc5601.1987-0=/usr/share/fonts/ko/TrueType/batang.ttf
filename.-baekmuk-gulim-medium-r-normal--*-%d-*-*-c-*-ksc5601.1987-0=/usr/share/fonts/ko/TrueType/gulim.ttf
filename.-baekmuk-gulim-bold-r-normal--*-%d-*-*-c-*-ksc5601.1987-0=/usr/share/fonts/ko/TrueType/gulim.ttf
filename.-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0=/usr/share/fonts/ja/TrueType/kochi-gothic.ttf
filename.-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0=/usr/share/fonts/ja/TrueType/kochi-mincho.ttf

# AWT X11 font paths
awtfontpath.chinese-gb2312=/usr/share/fonts/ttf
awtfontpath.chinese-big5=/usr/share/fonts/ttf
awtfontpath.japanese-x0208=/usr/share/fonts/ja/TrueType
awtfontpath.korean=/usr/share/fonts/ko/TrueType
==============================

接下来要做的工作就是对它进行配置,在这里只需要更改2个地方:

1、首先在/usr/share/fonts目录下面创建ttf这个文件夹。
2、复制一个ttf的字体(我用的是simsun.ttf)到这个文件夹。并且同时复制一个附件。
3、将这两个文件分别改名为:bsmi00lp.ttf和gbsn00lp.ttf。

好了,这样在起动程序的时候就OK了!

以前我遇到的这个问题问了好多地方都没有解决。当初我记得好象是一个J2ME的程序。
嘿嘿,现在好了。问题解决了。共享出来!

作者: yhwz_888   发布时间: 2006-07-23

jre的font目录下建个fallback子目录
扔个中文字体进去或者做个符号连接到任何一款中文ttf字体
over

比你的省事多了 哈哈哈

作者: PiPiDou   发布时间: 2006-07-24

哪有这么麻烦啊?
1.5的最简单的做法是

在/usr/lib/jvm/java-1.5.0-sun/jre/lib/fonts里建一个目录
fallback
然后sudo ln -s /path/to/chinese fonts/simsun.ttf .
这样就可以了

楼主的做法适合于1.4

作者: linuxcpp   发布时间: 2006-07-24

这个方法我试过,没用。

作者: yhwz_888   发布时间: 2006-07-24

除非你的jdk or jre装的不是标准的deb包

作者: linuxcpp   发布时间: 2006-07-24

没错~~~我没有装deb的包。

我直接从sun下的1.5的JDK。

作者: yhwz_888   发布时间: 2006-07-24

直接下的也支持fallback目录,跟是不是deb无关

作者: PiPiDou   发布时间: 2006-07-24

估计楼主英文不好,fallback写错了吧?

作者: potator   发布时间: 2006-07-24

引用:
作者: potator
估计楼主英文不好,fallback写错了吧?
你说呢…………

作者: yhwz_888   发布时间: 2006-07-24

在/usr/lib/jvm/java-1.5.0-sun/jre/lib/fonts里建一个目录
fallback
然后sudo ln -s /path/to/chinese fonts/simsun.ttf .
这样就可以了
========================================
好使。不过我的目录是/usr/lib/j2sdk1.5-sun/jre/lib/fonts,也谢谢楼主!

作者: baryon   发布时间: 2006-07-24

热门下载

更多