最近在工作中,不断收到开发者的反馈。 linux系统部署上线后,通过windows浏览器预览文件时,出现中文乱码,故记录此问题。
中文乱码
这个问题其实是你的linux系统没有安装中文字体造成的。我们只需要安装中文字体就可以解决
步骤:首先在linux系统中查看系统中预装的字体
[root@localhost ~]# fc-list< /p>
如果没有该命令,执行以下命令安装
yum -y install fontconfig mkfontscale (CentOS)
apt-get install -y fontconfig xfonts -utils (Ubuntu)
安装完成后可以查看系统预装的字体
我们发现系统没有预装中文字体,所以我们只需要安装中文字体即可。如果有预装的中文字体,运行上面的命令后会出现中文字体
我们也可以直接使用下面的命令来查看是否安装了中文字体
[root@ localhost ~]# fc-list :lang=zh
命令执行后,如果安装了中文字体,安装的中文字体名称,如果没有安装中文字体,则没有输出界面
安装中文字体的界面输出
未安装中文字体的界面输出
第二步:安装中文字体
1.将Win字体存放路径C:WindowsFonts下你需要的中文字体拷贝到Linux主机
可以使用winscp工具拷贝字体先拷贝到linux的/root目录下
这里我以“Song Type Regular”为例
2.在linux主机的路径/usr/share/fonts下创建一个目录,比如windows,然后把字体复制到这个目录下
[root@localhost ~]# mkdir /usr/share/fonts/ windows
[root@localhost ~]# cd /usr/share/fonts/windows/
[root@localhost windows]# mv /root/SIMSUN.TTC ./simsun. ttc
[root@localhost windows]# chmod 755 -R /usr/share/fonts/windows/simsun.ttc
[root@localhost windows]# mkfontscale
[root@localhost windows]# mkfontdir
[root@localhost windows]# fc-cache -f -v
Done 经过以上步骤,我们的中文字体就已经完成了安装成功。可以使用如下命令查看是否安装成功
[root@localhost windows]# fc-list :lang=zh
可以发现,simsun.ttc刚才复制的中文字体出现了
第三步:重启openOffice服务
1.将Win字体存放在C:WindowsFontswhat you need下 复制中文字体到linux主机
[root@localhost windows]# ps -ef | grep openoffice
2.在linux主机目录如windows的路径/usr/share/fonts下创建一个文件,然后把字体复制到这个目录下
[root@localhost windows]# kill -9 进程号< /p3.重启openoffice服务(我的openoffice安装在/opt目录下)
[root@localhost windows]# /opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port =8100;urp;" - nofirststartwizard &
第四步:重启项目web服务
如果有tomcat或者nginx等web服务记得重启
到这里再去尝试生成PDF应该没有问题
中文显示正常
pdf文件打开乱码怎么办的介绍到此结束(how to解决PDF汉字乱码问题))。
文章来源于网络或者作者投稿,若有侵权请联系删除,作者:小何,如若转载,请注明出处:https://www.laoz.net/2247.html