centOS下java生成图片中文乱码问题

今天测试项目上线,其中有这样一个功能点:上传ppt转为图片。但是却出现了乱码,刚开始怀疑是系统编码的问题,但是:

echo $LANG

发现是utf-8,好像没什么问题,继续查找程序中的日志信息,发现从ppt中取出来的内容没有乱码,查看代码发现是生成图片时使用宋体字,猜测是字体没有安装。

于是通过:

fc-list :lang=zh

显示为空。

查看自己的linux服务器时发现:

/usr/share/fonts/dejavu/SIMSUN.TTC: SimSun,宋体:style=Regular,常规
/usr/share/fonts/dejavu/SIMSUN.TTC: NSimSun,新宋体:style=Regular,常规

 

于是开始安装中文字体,安装过程也很简单,记录一下。
安装的思路是将windows中的字体拷贝到centos中,然后执行几个命令即可。
windows xp中字体位于C:/WINDOWS/Fonts目录中,每中字体一个文件,比如simsun.ttc
centos中的字体文件位于/usr/share/fonts/,每种字体一个目录,比如wqy-zenhei
安装过程是,首先在centos的/usr/share/fonts/目录下新建simsun目录
然后将windows中的simsun.ttc拷贝到/usr/share/fonts/simsun目录

#mkdir /usr/share/fonts/simsun
##拷贝windows中的simsun.ttc到/usr/share/fonts/simsun/

然后执行以下命令

#cd /usr/share/fonts/simsun
#mkfontscale
#mkfontdir
#fc-cache -fv
 
执行以下命令让字体生效

#source /etc/profile

 

重启。

执行字体查询命令时就和上面有了一样的结果。启动项目发现乱码问题解决!

posted @ 2023-06-16 17:39  海冠军  阅读(413)  评论(0编辑  收藏  举报