当运维老是遇到各类奇奇怪怪的问题,好比新的 JAVA 项目上线,login 界面有个验证码,结果部署后发现,要么显示的奇奇怪怪,要么压根不显示。shell
或者在使用一些开源的 JAVA 项目的时候,部署以后出现乱码,而后就懵逼了。服务器
若是你遇到这种状况,其实不少时候都是系统字体和 JDK 字体的缘由,固然也不所有,好比页面编码,数据存储自己就乱码等各类问题。运维
这里就是给出一种解决问题的思路,但愿可以帮到须要的同窗!工具
名称
|
版本
|
操做系统
|
CENTOS 7
|
JDK
|
7
|
远程工具
|
Xshell 5
|
对于服务器而言,咱们在安装的时候通常都是最小化安装,因此但部分都不会关注字体这方面带来的影响,这里咱们执行命令看下当前系统的字体:字体
fc-list
效果如图:编码
能够从上图看到,没有任何一个中文出现,这其实就足够说明目前虚拟机是没有中文字体的,分话很少说,开始添加字体:spa
【1】在咱们的 Windows 的 C:\Windows\Fonts 下面选择一个中文字体,如宋体,先拷贝到桌面,而后字体就变成了英文的:SIMSUN.TTC操作系统
备注:我这里只是写了 Windows 的,没有用过 Mac 系列的 ...code
【2】在服务器上面创建相关目录,为了便于区分,咱们把目录名字叫作 zh_CN:blog
mkdir /usr/share/fonts/zh_CN
【3】上传咱们的字体到该目录下并更名为 simsun.ttf,上传能够在 CENTOS 上面 yum 安装 lrzsz,以后咱们就能直接敲 rz 命令或者拖拽进行交互式上传文件了:
cd /usr/share/fonts/zh_CN mv SIMSUN.TTC simsun.ttf
【4】收集系统的字体,保存到相关文件,此时会在当前目录生成 fonts.scale 文件:
yum -y install ttmkfdir ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
【5】为了避免重启机器,咱们手动添加配置,强迫症顺便还帮他调整了一下格式:
vi /etc/fonts/fonts.conf # 内容以下 <dir>/usr/share/fonts/zh_CN</dir>
如图:
【6】刷新一下 cache 在查看一下效果:
fc-cache
fc-list
以下图:
总结:和以前相比,明显多了两个中文的项!
因为 JDK 添加中文字体比较简单,这里就直接给出方法:
# 进入 JDK 的目录 cd /usr/local/jdk1.7.0_79/jre/lib/fonts # 建立目录 mkdir fallback cd fallback # 将公共系统那个中文字体拷贝过来 cp /usr/share/fonts/zh_CN/simsun.ttf . # 生效 mkfontscale mkfontdir
执行成功后目录下面会变成这样:
到这里就配置完成,若是还有问题,能够留言咱们来讨论一下!