一、需求背景

 服务端生成或处理的新文件,在浏览器打开时中文字体出现乱码。

二、原因分析

字体问题

 大部分Linux系统上并没有预装中文字体或字体不全,需要把常用字体拷贝到Linux服务器上。

编码问题

 程序启动时未指定正确的字符集编码,或文件自身的字符集编码格式不匹配。

三、解决方法

给Linux系统安装字体

 1.查看已安装的字体
  fc-list (查看已安装的所有字体)
  fc-list :lang=zh (查看已安装的中文字体)
  PS:如果没有上述命令,需要yum安装字体库:yum -y install fontconfig,会在 /usr/shared下新生成 fonts 和 fontconfig 目录
 2.进入到目录:cd /usr/share/fonts,新建新文件夹:mkdir zhFonts,上传并解压字体包fonts.zip(也可从本地PC端字体包拷贝,存放路径:C:\Windows\Fonts)
在这里插入图片描述

 3.修改字体文件的权限,使root用户以外的用户也可以使用
  cd /usr/share/fonts/zhFonts
  chmod -R 755 /usr/share/fonts/zhFonts
 4.建立字体缓存,依次执行:
  mkfontscale (如果提示 mkfontscale: command not found,需自行安装 # yum install mkfontscale)
  mkfontdir
  fc-cache -fv (如果提示 fc-cache: command not found,则需要安装# yum install fontconfig)
 5.可执行步骤1对比验证,并重启应用程序服务,使应用程序生效
在这里插入图片描述

更新字符集编码

 可通过在服务端应用程序的启动脚本里加入如-Dfile.encoding=UTF-8指定,对于Excel文件编码格式,可以设置保存的字符集编码格式。
在这里插入图片描述

Logo

更多推荐