- 论坛徽章:
- 0
|
乱码的问题
乱码是因为java找不到中文字体,
解决方法:
在jre/lib/目录下找一个font.redhat.properties.src文件,去掉src。进行修改
1、allfonts.chinese-gb18030=-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1
allfonts.chinese-gb18030.motif=-isas-song ti-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0
说明了中文使用的字体,后面要对应中文字体,
22、
# Search Sequences
sequence.allfonts=latin-1
sequence.allfonts.Big5=latin-1,chinese-big5
sequence.allfonts.GB2312=latin-1,chinese-gb18030
sequence.allfonts.x-euc-jp-linux=latin-1,japanese-x0208
sequence.allfonts.EUC-KR=latin-1,korean
sequence.allfonts.GB18030=latin-1,chinese-gb18030
sequence.fallback=lucida,chinese-big5,chinese-gb18030,japanese-x0208,korean
修改如下:
# Search Sequences
sequence.allfonts=chinese-gb18030
sequence.allfonts.Big5=latin-1,chinese-big5
sequence.allfonts.GB2312=chinese-gb18030
sequence.allfonts.x-euc-jp-linux=latin-1,japanese-x0208
sequence.allfonts.EUC-KR=latin-1,korean
sequence.allfonts.GB18030=chinese-gb18030
sequence.fallback=lucida,chinese-big5,chinese-gb18030,japanese-x0208,korean
与简体中文由关的编码都要首先使用chinese-gb18030,自己改一下
//下面对应真正的中文字体。
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf
改为
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/chinese/TrueType/XXXXX.ttf
因为fodera4中文下的字体目录是chinese,而不是zh_cn,你可找到第二个目录,第一个是存在的。zysong.ttf也是不存在de,你可以在该目录下找到,简体&繁体的字体,自己看看font.dir要选那个。
也可以考win下的simsun.ttc
再加一个
filename.-isas-song ti-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0=/usr/share/fonts/chinese/TrueType/XXXXX.ttf
记得前面两行的说明吗,这个应该是motif界面下的字体。也进行声明一下,原来是没有的。
同理,以下的修改,也是java自带的配置的目录是不存在地,该zh_cn为chinese。
# AWT X11 font paths
awtfontpath.chinese-gb18030=/usr/share/fonts/zh_CN/TrueType
以前看到别人提java中文的乱码就要复制win的simsun.ttc来配置,其实这不是主要的,linux下也有中文字体,主要是因为没有配置正确,也不需要一定把字体放到jre/lib/fonts目录下,只要能找到就ok了。 |
|