写在前面的话

当运维总是遇到各种奇奇怪怪的问题,比如新的 JAVA 项目上线,login 界面有个验证码,结果部署后发现,要么显示的奇奇怪怪,要么压根不显示。

或者在使用一些开源的 JAVA 项目的时候,部署之后出现乱码,然后就懵逼了。

如果你遇到这种情况,其实很多时候都是系统字体和 JDK 字体的原因,当然也不全部,比如页面编码,数据存储本身就乱码等各种问题。

这里就是给出一种解决问题的思路,希望能够帮到需要的同学!

环境说明
名称
版本
操作系统
CENTOS 7
JDK
7
远程工具
Xshell 5
系统添加中文字体

对于服务器而言,我们在安装的时候一般都是最小化安装,所以但部分都不会关注字体这方面带来的影响,这里我们执行命令看下当前系统的字体:

fc-list

效果如图:

可以从上图看到,没有任何一个中文出现,这其实就足够说明目前虚拟机是没有中文字体的,分话不多说,开始添加字体:

【1】在我们的 Windows 的 C:\Windows\Fonts 下面选择一个中文字体,如宋体,先拷贝到桌面,然后字体就变成了英文的:SIMSUN.TTC

备注:我这里只是写了 Windows 的,没有用过 Mac 系列的 ...

【2】在服务器上面建立相关目录,为了便于区分,我们把目录名字叫做 zh_CN

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 添加中文字体比较简单,这里就直接给出方法:

# 进入 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

执行成功后目录下面会变成这样:

到这里就配置完成,如果还有问题,可以留言我们来讨论一下!

CENTOS 7 和 JDK 添加中文字体的更多相关文章

  1. Centos中如何配置Texlive2013中文字体的问题

    Centos中如何配置Texlive2013中文字体的问题: 第一步是下载你需要的字体,我从windows/fonts中拷贝的比较多,你只要复制你需要的字体即可. 注意只要文件扩展名为ttf的文件,t ...

  2. FCKEditor编辑器添加中文字体的方法

    默认情况下,FCKEditor在进行文本编辑时,无法使用中文字体.让其添加中文字体的方法: 1.打开 fckconfig.js 文件,找到第154行(大概),会发现: 程序代码: FCKConfig. ...

  3. 织梦dede编辑器ckeditor如何添加中文字体不乱码

    dedecms内容编辑器ckeditor没有中文字体,找了很多教程都是千篇一律,而且都是错的,终于找到了一篇,结合自己的实际操作,来教您如何添加中文字体,并且解决乱码问题.   工具/原料 dedec ...

  4. Cent os 6.8添加中文字体

    作者:邓聪聪 Cent os 6.8添加中文字体的相关步骤: [root@bogon ]#yum -y install fontconfig #yum安装fontconfig [root@bogon ...

  5. Linux 添加中文字体库,解决Java 生成中文水印不显示问题

    本机 Windows 环境测试以下代码生成中文水印完全没问题,但是发布到Linux下不显示,一开始以为是报错了没打印出来,搜索发现直接提示中文乱码的或者不显示的,才明白原来是字体库原因,于是开始解决这 ...

  6. 在CentOS 6.X中安装中文字体

    1.从Windows中 拷贝或者网络上下载你想要安装的字体文件(*.ttf文件) 2.新建字体目录 #mkdir /usr/share/fonts/ 3.修改字体文件的权限,使root用户以外的用户也 ...

  7. Ubuntu 添加中文字体

    查看系统类型 cat /proc/version 查看中文字体 fc-list :lang=zh-cn 安装字体 sudo apt install -y --force-yes --no-instal ...

  8. 制作OpenOffice的Docker镜像并添加中文字体解决乱码问题

    官网下载openoffice http://www.openoffice.org/download/index.html 本文使用的是Docker官方发布的CentOS7镜像作为基础镜像.镜像的获取方 ...

  9. CentOS 7 安装字体库 & 中文字体

    前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效:  如上图可以看出,不仅没有中文字体,连字体 ...

随机推荐

  1. 安装CenOS7.4 LNMP环境

    从头开始安装环境 1.在vmware中安装最新的CentOS7.4 linux版本下载地址:http://man.linuxde.net/download/ 下载好的东东为:iso后缀的文件 安装教程 ...

  2. WebForm中创建树节点TreeNode

    Tree: namespace ECTECH.NorthSJ.Web.SysData { public partial class testTree : BasePage { ; protected ...

  3. 前端HTML5介绍

    1.为什么学习HTML5? 跨平台要求低 硬件要求低 flash之外的选择(尤其手机端) 2什么是HTML5? HTML是用来描述网页的一种语言 HTML指超文本标记语言 HTML不是变成语言,是一种 ...

  4. C语言库在不同系统下的后缀

    C语言的静态库与动态库对比分析,各有长短 库:  指由标准常用函数编译而成的文件,旨在提高常用函数的可重用性,减轻开发人员负担.常用的sdtio.h,math.h等                 库 ...

  5. Java-API-Package:org.springframework.web.bind.annotation

    ylbtech-Java-API-Package:org.springframework.web.bind.annotation 1.返回顶部 1. @NonNullApi @NonNullField ...

  6. oralce 记一次 External Procedure initial connection 处理

    1 环境 oracle 11.2.0.4 RAC(2 nodes),centos 6.8,实体机 2 问题 线上环境执行一条sql sql> select ST_AsText(ST_Geomet ...

  7. iOS利用SDWebImage图片下载缓存

    一.我们先来了解一下SDWebImage的使用: 1.导入框架,引入头文件: #import "UIImageView+WebCache.h" 也可以直接使用CocoaPods来引 ...

  8. Winsock 示例

    #include "stdafx.h" #include <Windows.h> #include <iostream> #pragma comment(l ...

  9. 第八章 Java中的并发工具类

    等待多线程完成的CountDownLatch countDownLatch允许一个或多个线程等待其他线程完成操作. public class CountDownLatchTest { static C ...

  10. windows cmd for paramiko

    wmic cpu get LoadPercentage wmic memphysical list brief wmic memphysical  get MaxCapacity   主板芯片组支持最 ...