SimpleCaptcha生成圖片驗證碼內容為亂碼
轉自: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生成圖片驗證碼內容為亂碼