當運維老是遇到各類奇奇怪怪的問題,好比新的 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
執行成功後目錄下面會變成這樣:
到這裏就配置完成,若是還有問題,能夠留言咱們來討論一下!