原来写过皕杰报表在Linux上部署后导出pdf中文显示小方块的问题,这个问题与按钮不显示中文是一样的,是由于linux系统和JDK中缺中文字符集和中文字体导致的,那么如何配置呢?这已经超出了皕杰报表工具应该解决的问题范围,但还是把配置的步骤简单回顾一下。一、Linux CentOS7配置中文字体

1. fc-list 查看字体列表

2. yum -y install fontconfig 安装字体库

安装完成后,在/usr/share目录就可以看到fonts和fontconfig目录了(之前是没有的)

3. 首先在/usr/share/fonts目录下新建一个目录chinese:将所需的字体上传至/usr/share/fonts/chinese目录下

4. 修改chinese目录的权限:

chmod -R 755 /usr/share/fonts/chinese

5. 安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令:

yum -y install ttmkfdir

然后执行ttmkfdir命令即可:

ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

6. 修改字体配置文件了,首先通过编辑器打开配置文件:

vim /etc/fonts/fonts.conf

可以看到一个Font list,即字体列表,在这里需要把我们添加的中文字体位置加进去:

emp报表公式改了怎么变乱码(皕杰报表在LINUX上部署后按钮不显示中文问题)(1)

7. 不用重启,刷新内存中的字体缓存使配置对系统生效:

fc-cache

二、LinuxCentos7 添加中文字符集

locale 然后查看系统当前字符集

yum -y groupinstall chinese-support 下载字符集

vim /etc/sysconfig/i18n 将字符集配置到系统变量中

将变量LANG的值设置为:“zh_CN.UTF-8”。

即:LANG=zh_CN.UTF-8

编辑保存之后,注意要重新载入此文件。重新载入命令:. /etc/profile使用命令echo $LANG 可以看到输出:zh_CN.UTF-8,证明设置成功。

另外使用locale命令也可以看到,字符集已经成功设置:

三、给JDK添加字体

1. 进入 JDK 的目录,如果没有fonts目录,自行创建

echo $JAVA_HOME

cd $JAVA_HOME/jre/lib/fonts

2. 创建目录

mkdir fallback

cd fallback

3. 将所需要的中文字体拷贝过来

4. 生效

mkfontscale

mkfontdir

如果运行mkfontscale命令时终端提示mkfontscale: command not found,则需要首先安装这个命令

使mkfontscale和mkfontdir命令正常运行

yum install mkfontscale

使fc-cache命令正常运行。如果提示 fc-cache: command not found

yum install fontconfig

或者将Linux系统的字体目录作为JDK下面的一个字体目录连接

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

emp报表公式改了怎么变乱码(皕杰报表在LINUX上部署后按钮不显示中文问题)(2)

,