1. 程式人生 > >SimpleCaptcha生成圖片驗證碼內容為亂碼

SimpleCaptcha生成圖片驗證碼內容為亂碼

編輯器 cap sharp true 驗證 eboot 還需 light 報表

轉自:https://blog.csdn.net/wlwlwlwl015/article/details/51482065

前言

報表中發現有中文亂碼和中文字體不整齊(重疊)的情況,首先考慮的就是操作系統是否有中文字體,
在CentOS 7中發現輸入命令查看字體列表是提示命令無效:

[~]# fc-list
-bash: fc-list: command not found

可以看出,不僅沒有中文字體,連字體庫都沒有,那麽接下來就記錄一下在Linux CentOS 7中如何安裝字體庫以及中文字體。

安裝字體庫

在CentOS 4.x開始用fontconfig來安裝字體庫,所以輸入以下命令即可:

yum -y install fontconfig

找到fonts路徑,比如/boot/grub2/fonts

接下來就可以給我們的字體庫中添加中文字體了。

添加中文字體

在CentOS中,字體庫的存放位置正是上圖中看到的fonts目錄,所以我們首先要做的就是找到中文字體文件放到該目錄下,而中文字體文件在我們的windows系統中就可以找到,
打開c盤下的Windows/Fonts目錄:
這裏我選擇宋體和黑體,找到simsun.ttc和simhei.ttf兩個,如果沒有可以下載一個。

我在csdn裏添加了一個下載:

https://download.csdn.net/download/tvcctv27tv/10537074

在這之前我們還需要在linux服務器中新建目錄,首先在/usr/shared/fonts目錄下新建一個目錄chinese。

然後就是將上面的兩個字體上傳至/usr/shared/fonts/chinese目錄下即可。

緊接著需要修改chinese目錄的權限:

chmod -R 755 /usr/share/fonts/chinese

接下來需要安裝ttmkfdir來搜索目錄中所有的字體信息,並匯總生成fonts.scale文件,輸入命令:

yum -y install ttmkfdir

當看到安裝成功:

然後就是修改字體配置文件了,首先通過編輯器打開配置文件:

vi /etc/fonts/fonts.conf

可以看到一個Font list,即字體列表,在這裏需要把我們添加的中文字體位置加進去:

技術分享圖片
然後輸入:wq保存退出,最後別忘了刷新內存中的字體緩存,這樣就不用reboot重啟了:

fc-cache

這樣所有的步驟就算完成了,最後再次通過fc-list看一下字體列表:

技術分享圖片

可以看到已經成功安裝上了中文字體,至此安裝過程就全部結束,再次查看報表可以發現中文樣式和內容均已可以正常顯示了。

總結

簡單記錄一下在CentOS 7中安裝字體庫以及中文字體的問題,希望對遇到同樣問題的同學有所幫助。

SimpleCaptcha生成圖片驗證碼內容為亂碼