参考
https://bbs.hcharts.cn/thread-113-1-1.html
Linux下导出服务器缺少字体中文乱码问题解决办法
一、问题描述
导出服务器运行在linux系统下,导出时,中文变成很规则的矩形,而不是常规意义上的乱码,如下图。很明显,这是因为缺少中文字体导致的。
二、如何查看linux是否安装中文字体
Linux下运行:fc-list :lang=zh
若没有任何输出,则可确认是因为缺少中文字体导致的乱码。
三、解决办法
Linux安装中文字体,步骤如下
1、下载中文字体文件并上传到linux
字体文件的获得可以通过网络下载,最简单的方法是复制windows的字体文件。
依次打开【开始菜单】——【控制面板】——【外观和个性化】——【字体】,复制需要的字体文件,如宋体、黑体、楷体等
将复制得到三个文件simkai.ttf、simsun.ttc、simhei.ttf上传到linux任意目录,如/tmp/fonts
2、在usr/share/fonts目录下新建my_fonts,并移动上述三个字体文件到该目录,命令如下
mkdir -p /usr/share/fonts/my_fonts
mv /tmp/fonts/simkai.ttf /usr/share/fonts/my_fonts/
mv /tmp/fonts/ simsun.ttc /usr/share/fonts/my_fonts/
mv /tmp/fonts/ simhei.ttf /usr/share/fonts/my_fonts/
3、生成字体索引
在/usr/share/fonts/my_fonts/目录下执行 mkfontscale
执行成功后,再次执行fc-list :lang=zh,可以看到有输出,如下图
至此,linux下安装中文字体完成
完成后重启应用服务器