近期由于KVM迁移,把原先jira的一套软件也由原来物理机迁移到了虚拟机上。操作系统版本也由centos5换成了centos6.4 ,jira同时也做了次升级,换成了jira v6.0.7 。安装完成并打上了中文语言包,一切正常。不过后面在使用过程中,发现饼图显示为口口这样的乱码 。

jira-garbled

网上查询到的方法有两个,如下:

方法一

1yum -y install fonts-chinese fonts-ISO8859*

将上面的字体安装完成后,重启jira就OK了,不过该方法在centos5.x上可以,到centos6.x中就不灵了,上面的包在centos6.x中不存在。而如果从centos5.x中下载好rpm包通过rpm -ivh安装时,又有如下报错:

1root@jira-361way.com:[/root]rpm -ivh fonts-chinese-3.02-12.el5.noarch.rpm
2warning: fonts-chinese-3.02-12.el5.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID e8562897: NOKEY
3error: Failed dependencies:
4        /usr/sbin/chkfontpath is needed by fonts-chinese-3.02-12.el5.noarch

依赖包,显然不少 。即外是字体库,本装着通过rpm -ql fonts-chinese查看都安装在什么地方,再一一放到centos6.x下面的路径里,执行下面的命令就OK了:

1# mkfontscale
2# mkfontdir
3# fc-cache -fv

不过fonts-ISO8859包太多,这样做太麻烦不小,下下策,暂不考虑 。

方法二

1find / -name *.ttf
21,查找到相关路径
32,拷贝windows下的simsunb.ttf,先把这个文件拷贝到其他位置
43,然后你可以通过SecureCRT中的rz命令将其上传至你需要的位置,如果你的的/usr/share/fonts/TTF/下没有zh_CN文件夹,请自己创建,我的是:/usr/share/fonts/TTF/zh_CN/TrueType 下,并重新命名为simsun.ttf
54,然后执行"ttmkfdir  . ”,这个是创建fonts.dir 【ttmkfdir -d 字体所在目录 -o 字体所在目录/fonts.scale】
65,cp  fonts.scale  fonts.dir
76,执行fc-cache &&  /etc/init.d/xfs restart
87,查看是否安装成功了,查找sim   ,pc-list|grep –i sim

以上方法一般是在linux下美化字体显示时用到的方法,也先不考虑。即然是中文显示有问题,肯定是语言包不全的问题,通过yum group把相关的语言包一次装齐不就 OK了 。

方法三

1yum groupinstall chinese-support

如果要装其他语言包可以将chinese换成japanese,korean,assamese, bengali, chinese, gujarati, hindi, kannada, malayalam, marathi, oriya, punjabi, sinhala, tamil 等。安装完成后重启jira ,再看饼图,显示OK 。

总结:方法三是自己琢磨出来的,当然其也是方法一的变通 。所以在处理无论是系统或者是软件的新版本时,如果同上一版本出现了差别,先别急着用原来的方式处理。既然改成目前的状态,定有他的道理。尽量以新的方法解决老的问题 。

jira-garbled2  

2013-10-15号后记: 上次提到的第三种方法在centos6上正常使用了有几天 。不过后面不知道系统上做了什么改变,导致在重启jira后饼图再变乱码。于是改用方法二测试,发现方法二上写的并不完全对。新增字体的方式本身并不存在问题,存在问题的是路径写的不对。这里使用的方法是一和二的合并,最终成功完全解决该问题。具体操作是将一台centos5.X上的fonts下的chinese复制到centos6.X上。

 1[root@mail data1]# rpm -ql fonts-chinese
 2/etc/ghostscript
 3/etc/ghostscript/CIDFnmap.zh_CN
 4/etc/ghostscript/CIDFnmap.zh_TW
 5/etc/ghostscript/FAPIcidfmap.zh_CN
 6/etc/ghostscript/FAPIcidfmap.zh_TW
 7/etc/ghostscript/cidfmap.zh_CN
 8/etc/ghostscript/cidfmap.zh_TW
 9/usr/share/doc/fonts-chinese-3.02
10/usr/share/doc/fonts-chinese-3.02/doc
11/usr/share/doc/fonts-chinese-3.02/doc/arphicpl-big5.txt
12/usr/share/doc/fonts-chinese-3.02/doc/arphicpl-gb.txt
13/usr/share/doc/fonts-chinese-3.02/doc/arphicpl.txt
14/usr/share/doc/fonts-chinese-3.02/doc/release.txt
15/usr/share/fonts/chinese
16/usr/share/fonts/chinese/TrueType
17/usr/share/fonts/chinese/TrueType/fonts.cache-1
18/usr/share/fonts/chinese/TrueType/fonts.dir
19/usr/share/fonts/chinese/TrueType/fonts.scale
20/usr/share/fonts/chinese/TrueType/ukai.ttf
21/usr/share/fonts/chinese/TrueType/uming.ttf
22/usr/share/fonts/chinese/fonts.cache-1
23/usr/share/fonts/chinese/misc
24/usr/share/fonts/chinese/misc/fonts.alias
25/usr/share/fonts/chinese/misc/fonts.cache-1
26/usr/share/fonts/chinese/misc/fonts.dir
27/usr/share/fonts/chinese/misc/fonts.scale
28/usr/share/fonts/chinese/misc/taipei16.pcf.gz
29/usr/share/fonts/chinese/misc/taipei20.pcf.gz
30/usr/share/fonts/chinese/misc/taipei24.pcf.gz
31/usr/share/fonts/chinese/misc/vga12x24.pcf.gz
32/usr/share/fonts/zh_TW
33/usr/share/fonts/zh_TW/TrueType
34/usr/share/fonts/zh_TW/TrueType/bsmi00lp.ttf

上面是centos5.x上的fonts-chinese所包含的文件内容。其中简体中文字体是/usr/share/fonts/chinese ,将其在centos6.x上相应的路径保存即可解决该问题。

以下内容都是解说部分:其实在centos6上也已存在uming和ukai两种字体,其分为两个包,分别存在fons下的cjkuni-ukai和cjkuni-uming目录,不从centos5.x上复制,新建chinese/TrueType下存两种字体也行。如果是用繁体中文,就把zh_TW文件夹一并复制。ghostscript是一个pdf要使用的一个包,在centos6.x中已和字体分开成另外的包。

至于fonts-ISO8859*相关的文件,不用另行复制,在centos6.X上也有相应的包,不过是在/usr/share/X11/fonts/下 (如果发现只复制chinese还不行的,可以在centos5.x上将fonts-ISO8859*也复制过去,其在/usr/share/fonts/ISO8859-2目录中)。