linux下——java——new Font("Times New Roman", 0, 18)驗證碼圖片變成字符


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、重啟完,再刷新一下我們的驗證碼,果然從亂碼字符變回了我們的字母和數字了

 

相關文章:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM