写在前面的话

当运维总是遇到各种奇奇怪怪的问题,比如新的 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. 日志管理系统ELK6.2.3

    https://www.jianshu.com/p/88f2cbedcc2a 写在前面 刚毕业工作的时候,处理日志喜欢自己写脚本抓取数据分析日志,然后在zabbix上展示出来.但是开发要看日志的时候, ...

  2. Windows命令查看文件的MD5/SHA1/SHA256

    certutil -hashfile "D:\Tools\Microsoft\SqlServer\2016\ct_sql_server_2016_enterprise_x64_dvd_869 ...

  3. HTML5通信

    跨文档消息传输 HTML5中提供了在网页文档之间互相接收与发送信息的功能.使用这个功能只要获取到网页所在窗口对象的实例,无论是否同源都可以实现跨域通信.经常用于不同frame之间的通信. 当我们想要接 ...

  4. 线程及同步的性能 – 线程池/ ThreadPoolExecutors/ ForkJoinPool

    线程池和ThreadPoolExecutors 虽然在程序中可以直接使用Thread类型来进行线程操作,但是更多的情况是使用线程池,尤其是在Java EE应用服务器中,一般会使用若干个线程池来处理来自 ...

  5. Mina APR传输与串口传输讲解---zhengli

    原文地址:Mina Transports(Apache Mina user guide Chapter6 Transport) 1.1.1.APR传输 1.1.1.1.介绍 APR (Apache P ...

  6. python第三十二天-----算法

    算法(Algorithm):一个计算过程,解决问题的方法时间复杂度:用来评估算法运行效率的一个东西ps:在日常使用中,请使用sort(),because no zuo no die! 1.冒泡排序:指 ...

  7. 安装vs2012以后 sql2008不能使用解决办法

    出现的错误 (1) 打开控制面板,找到卸载程序,把”MicrosoftSQL Server 2013(2012) Express LocalDB”卸载掉,然后打开SQL Server 配置管理器,就会 ...

  8. solr的copyFeild用法(改变各个feild的权重,修改打分结果)-注意!

    copyField的dest字段all本身有分析器处理:假设为mmseg4j name,title,description三个字段都复制到all字段上:其中title和description都是mms ...

  9. Swing的MVC结构

    --------------siwuxie095                             工程名:TestMVC 包名:com.siwuxie095.mvc 类名:Test.java ...

  10. ruby 变量和方法

    def say_goodnight(name) result ="Good night ." +name return result end def say_goodmorning ...