本文仅面向非运维平台部署的帆软项目
运维平台部署的项目,在工程外挂目录/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 安装中文语言环境
2.2.1 外网安装中文语言环境
命令:yum install kde-l10n-Chinese
说明:这个命令将安装中文本地化包。根据你的系统和包管理器,可能需要确认安装过程中的提示信息。
2.2.2 内网安装中文语言环境
1)下载kde-l10n-Chinese安装包
访问:https://pkgs.org/,搜索kde-l10n-Chinese
根据你使用的 Linux 系统发行版和版本,进入下载界面。
在「Download」模块下即可找到下载链接,访问该链接即可下载kde-l10n-Chinese安装包
2)上传安装包
将kde-l10n-Chinese安装包上传到服务器中。
本示例上传到/home/test文件夹下
3)安装语言环境
进入安装包所在目录(请自行调整目录位置):cd /home/test
安装kde-l10n-Chinese(请自行调整安装包名称):rpm -ivh kde-l10n-Chinese-4.10.5-2.el7.noarch.rpm --nodeps --force
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系统安装字体,必须确保系统中已有字体管理工具。
3.2.1 外网安装字体管理工具
1)安装字体渲染库
命令:sudo yum install fontconfig
说明:这个命令将安装字体渲染库,以便在CentOS 7系统上启用字体渲染功能和管理字体。
2)安装字体目录索引生成工具
命令:sudo yum install ttmkfdir
说明:这个命令将安装一个用于创建字体目录索引文件的命令行工具,可以确保系统能够正确地识别和渲染所安装的字体文件。
3.2.2 内网安装字体管理工具
1)下载fontconfig安装包
访问:https://pkgs.org/,搜索fontconfig
根据你使用的 Linux 系统发行版和版本,进入下载界面。
在「Download」模块下即可找到下载链接,访问该链接即可下载fontconfig安装包
2)下载ttmkfdir安装包
访问:https://pkgs.org/,搜索ttmkfdir
根据你使用的 Linux 系统发行版和版本,进入下载界面。
在「Download」模块下即可找到下载链接,访问该链接即可下载ttmkfdir安装包
3)上传安装包
将fontconfig和ttmkfdir安装包上传到服务器中。
本示例上传到/home/test文件夹下
4)安装字体管理工具
进入安装包所在目录(请自行调整目录位置):cd /home/test
安装fontconfig(请自行调整安装包名称):rpm -ivh fontconfig-2.13.0-4.3.el7.x86_64.rpm --nodeps --force
安装ttmkfdir(请自行调整安装包名称):rpm -ivh ttmkfdir-3.0.9-42.el7.x86_64.rpm --nodeps --force
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
说明:运行该命令来列出系统中已安装的字体列表,你将在输出中看到你刚刚安装的字体文件。