zoukankan      html  css  js  c++  java
  • CENTOS 7 和 JDK 添加中文字体

    写在前面的话

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

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

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

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

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

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

    fc-list

    效果如图:

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

    【1】在我们的 Windows 的 C:WindowsFonts 下面选择一个中文字体,如宋体,先拷贝到桌面,然后字体就变成了英文的: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

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

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

  • 相关阅读:
    12306-单
    12306-票
    12306-车
    12306-人
    12306-目录
    a+=b 是什么意思?
    开启hadoop和Hbase集群的lzo压缩功能(转)
    HBase性能优化方法总结(转)
    Spark向HDFS中存储数据
    Spark从HDFS上读取JSON数据
  • 原文地址:https://www.cnblogs.com/Dy1an/p/9681897.html
Copyright © 2011-2022 走看看