
本文为第三方解决方案或非产品相关操作指南,仅提供给具备自主开发能力的用户使用。
本文仅面向Linux服务器中非运维平台部署的帆软项目。
运维平台部署的项目,在工程外挂目录/customlib/fonts文件夹中,可存放客户自定义的字体文件,等同于直接放置在工程的/usr/share/fonts下
1. 概述
1.1 问题描述
工程部署在Linux 系统中时,有时我们访问工程会遇到中文乱码。
Linux 服务器导出文字重叠。
导出 pdf 时图表里的中文变成框框。
插入斜线乱码,斜线为方框。
1.2 原因分析
出现这个情况有多种原因:
1)工程所在的Linux服务器,没有设置中文为默认语言。
2)工程所在的Linux服务器,没有安装模板对应的字体包。
注:需要排查集群全部工程节点所在服务器、用户客户端环境。
2. 设置Linux服务器默认语言环境
本文以 CentOS7 系统为例。其他 Linux 版本安装步骤有所不同,请根据你的系统需求自行调整。
1)先确认服务器的默认语言环境是什么,以及是否有中文语言环境。
2)如果没有中文语言环境,需要先安装中文语言环境。
3)有中文语言环境的情况下,可设置中文为默认语言环境。
2.1 查看当前默认语言和支持语言环境
1)查看当前系统默认语言环境
命令:locale
返回值:将显示当前的语言环境变量,其中 LANG 表示默认的字符编码。
如果 LANG=zh_CN.utf8,说明默认语言为中文,字符编码为UTF-8,一切正常,无需继续查看本章其他内容,跳到下一章即可。
如果 LANG 值为其他,则需要继续进行本章其他内容。
2)查看当前系统是否支持中文语言
语句:locale -a | grep zh_CN
返回值:该命令会列出系统中所有可用的中文语言环境
如果返回值中有zh_CN.utf8,说明系统已安装支持中文的语言环境。
如果返回值中没有zh_CN.utf8,则需要先安装中文语言。
2.2 安装中文语言环境
本文以支持外网访问的服务器为例,内网环境请自行查阅资料调整安装方法。
命令:yum install kde-l10n-Chinese
说明:这个命令将安装中文本地化包。根据你的系统和包管理器,可能需要确认安装过程中的提示信息。
2.3 设置中文为默认语言环境
临时方法无需重启Linux系统,只需要关闭重新打开终端即可。
永久方案需要重启Linux系统,请按需选择。
2.3.1 临时设置默认语言环境
1)设置默认语言环境
命令:sudo localectl set-locale LANG=zh_CN.utf8
说明:这个命令将更新系统的语言环境配置文件,将默认语言设置为 zh_CN.utf8。
2)重新访问终端
为了使语言环境的更改生效,建议关闭终端,重新登录访问系统。
3)确认设置成功
命令:locale
说明:如果返回值 LANG=zh_CN.utf8,说明设置成功。
2.3.2 永久设置默认语言环境
1)登录终端
打开终端,并使用管理员权限登录到系统。
2)修改配置
使用 vi 编辑器打开 /etc/locale.conf 文件:vi /etc/locale.conf
在编辑器中,找到并定位到 LANG= 行。如果该行不存在,请在文件的末尾添加以下内容以设置默认的中文语言环境:LANG=zh_CN.utf8
3)保存文件
按下 Esc 键退出插入模式。
输入 :wq,然后按下 Enter 键,以保存文件并退出 vi 编辑器。
4)重启Linux系统
命令:sudo reboot
说明:在更新语言环境配置后,重新启动系统以应用更改
5)确认设置成功
命令:locale
说明:如果返回值 LANG=zh_CN.utf8,说明设置成功。
3. Linux服务器安装字体
本文以 CentOS7 系统为例。其他 Linux 版本安装步骤有所不同,请根据你的系统需求自行调整。
1)先确认模板显示异常的字体,并确认服务器中是否安装该字体。
2)需要先为服务器安装字体管理工具,才能安装字体
3)自行获取字体文件,将字体安装到服务器中。
3.1 检测缺失字体
1)检查缺失字体
仪表板中乱码的部分用的什么字体,为缺失字体。
假设分组表导出后,表头乱码,表头用的为黑体,则缺少黑体字体包。
2)获取字体文件
请从信任的来源获取所需的字体文件,帆软不提供此部分资源。
通常字体文件是以 .ttf 或 .otf 扩展名结尾的文件。
3.2 安装字体管理工具
如需在Linux系统安装字体,必须确保系统中已有字体管理工具。
本文以支持外网访问的服务器为例,内网环境请自行查阅资料调整安装方法。
1)安装字体渲染库
命令:sudo yum install fontconfig
说明:这个命令将安装字体渲染库,以便在CentOS 7系统上启用字体渲染功能和管理字体。
2)安装字体目录索引生成工具
命令:sudo yum install ttmkfdir
说明:这个命令将安装一个用于创建字体目录索引文件的命令行工具,可以确保系统能够正确地识别和渲染所安装的字体文件。
3.3 安装字体
1)下载字体文件
请从信任的来源获取所需的字体文件,帆软不提供此部分资源。
通常字体文件是以 .ttf 或 .otf 扩展名结尾的文件。
2)上传字体文件
在系统上创建一个目录来存储字体文件。通常在 /usr/share/fonts 目录下创建一个子目录以存放新的字体文件。
sudo mkdir -p /usr/share/fonts
赋予文件夹权限
chmod -R 755 /usr/share/fonts
上传字体文件
将本地的字体文件上传到该文件夹中。
3)更新字体缓存
命令:sudo fc-cache -f -v
说明:运行该命令以更新系统的字体缓存,这将使系统识别并注册新安装的字体。
4)验证字体安装
命令:fc-list
说明:运行该命令来列出系统中已安装的字体列表,你将在输出中看到你刚刚安装的字体文件。