【问题重现】
java项目 docker部署到linux上,预览word(将word文件转化为pdf进行预览)时,出现中文乱码
【问题原因】
1.linux系统中没有对应对应的中文字体
2.docker打包java镜像中没有对应字体
【问题解决】
linux系统中没有对应对应的中文字体,需要安装中文字体:
一、将windows字体打包成压缩文件,拷贝到linux服务器上
cd /usr/share/fonts/
mkdir windows
unzip windows.zip -d /usr/share/fonts/windows
二、安装字体
#更改这些字体库的权限:
chmod 755 /usr/share/fonts/windows/*
mkfontscale
#注:如果没有mkfontscale这个命令,可以使用'yum install mkfontscale'安装
#接着建立dir文件
mkfontdir
#然后运行
fc-cache -fv #(如果命令不存在,直接重启就可以了)
fc-list #查看字体列表,是否已安装好
fc-list :lang=zh #查看中文字体
针对dokcer镜像中没有对应的中文字体,解决办法如下:
一、挂载系统字体到docker镜像中:
docker run -v /usr/share/fonts:/usr/share/fonts *** #(此处省略其他配置)
二、进入容器,扫描挂载的字体
docker exec -it [容器id] /bin/bash #docker在1.3.X版本之后
fc-cache -fv #(如果命令不存在,直接重启就可以了)
三、最后重启docker容器
docker restart [容器id]