1、概述
在安裝一些服務的時候,會涉及到字符編碼與字體的問題,字符編碼一般在數據庫或代碼級別設置,字體一般是在系統級別設置。如安裝使用jira或confluence的時候,使用一些宏的時候經常會出現亂碼的問題,還有就是程序中有中文的時候,在linux系統上總會亂碼。
2、安裝字體庫
linux系統,一般不會安裝字體,報表中發現有中文亂碼和中文字體不整齊(重疊)的情況,首先考慮的就是操作系統是否有中文字體,在CentOS 7中發現輸入命令查看字體列表是提示命令無效:
如果有此命令,則可以通過fc-list查看當前系統安裝了那些字體:
#fc-list
如上圖可以看出,不僅沒有中文字體,連字體庫都沒有,那么接下來就記錄一下在Linux CentOS 7中如何安裝字體庫以及中文字體。
1)安裝:
#yum -y install fontconfig
#如果已安裝,則跳過此步
安裝完成后,在/usr/share目錄就可以看到fonts和fontconfig目錄了(之前是沒有的):
在CentOS中,字體庫的存放位置正是上圖中看到的fonts目錄,所以我們首先要做的就是找到中文字體文件放到該目錄下。
2)而中文字體文件在windows系統中就可以找到,打開c盤下的Windows/Fonts目錄:
如上圖,我們只需要將我們需要的字體拷貝出來並上傳至linux服務器即可,在這里我選擇宋體和黑體(報表中用到了這兩種字體)
3)在這之前我們還需要新建目錄,首先在/usr/share/fonts目錄下新建一個目錄chinese:
4)將上面的兩個字體上傳至/usr/share/fonts/chinese目錄下即可:
5)修改chinese目錄的權限:
# chmod -R 755 /usr/share/fonts/chinese
6)安裝ttmkfdir來搜索目錄中所有的字體信息,並匯總生成fonts.scale文件,輸入命令:
# yum -y install ttmkfdir
然后執行ttmkfdir命令即可:
# ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
7)修改字體配置文件了,首先通過編輯器打開配置文件:
# vim /etc/fonts/fonts.conf
可以看到一個Font list,即字體列表,在這里需要把我們添加的中文字體位置加進去:
8)不用重啟,刷新內存中的字體緩存使配置對系統生效:
# fc-cache
9)最后,還有很重要的一步,就是重啟用到字體庫的服務,將字體庫應用到服務中去。