j'ava部署到了tomcat,發現了一個問題,我們登錄的驗證碼出現了亂碼,和字符
然而在windows服務器上,或者說我們本地的開發環境上面,則沒有這種現象,
這是為什么?
查看源碼,發現有一段代碼:
new Font("Times New Roman", 0, 18)
原來windows操作系統上面有自帶的默認字體,即Times New Roman
而我們的linux系統,以centos7.3為例,則沒有這個字體,畢竟我們的linux系統是沒有圖形化操作界面的,所以也沒有默認自帶字體
所以,我們需要在linux系統上安裝該字體,過程如下:
1、先打開我們的終端,字體默認路徑為:/usr/share/fonts
cd進入
2、新建一個路徑(文件夾),mkdir "Times New Roman",
為何要雙引號?因為我們需要養成一個良好的習慣,如果沒有雙引號的話,將會新建三個文件夾,即三個路徑Time New Roman,無法創建帶有空格的路徑
3、然后將我們本地windows文件夾中的fonts文件夾中的Times New Roman字體統統上傳到該路徑下,我們以本地win7系統為例,上傳完之后,需要在該路徑下,依次執行三條命令,如下:
mkfontscale
mkfontdir
fc-cache -fv
有個問題,我們的centos系統默認是沒有這些命令的,這個時候,我們需要來在線安裝以下該命令,命令如下:
yum install mkfontscale
安裝完,依次確認,即可
4、重新啟動一下我們的tomcat
cd ../bin/;sh startup.sh;cd ../logs/;tail -f catalina.out
回車即可
注意,以上關於字體的所有操作,必須在root權限下完成
5、重啟完,再刷新一下我們的驗證碼,果然從亂碼字符變回了我們的字母和數字了
相關文章: