天天看點

linux 驗證碼亂碼解決方案,CentOS伺服器驗證碼亂碼解決

問題描述

線上環境驗證碼亂碼亂碼,本地環境正常,判斷應該是由于線上linux系統缺少字型檔案造成的。驗證碼使用的:Times New Roman 字型。那麼到本地字型檔案夾找到對應的字型檔案,上傳到伺服器中。

Linux CentOS 7 安裝字型庫

在CentOS 4.x開始用fontconfig來安裝字型庫,是以輸入以下指令即可:

yum -y install fontconfig

當看到下圖的提示資訊時說明已安裝成功:

linux 驗證碼亂碼解決方案,CentOS伺服器驗證碼亂碼解決

這時在/usr/shared目錄就可以看到fonts和fontconfig目錄了(之前是沒有的):

linux 驗證碼亂碼解決方案,CentOS伺服器驗證碼亂碼解決

添加中文字型

首先在/usr/shared/fonts目錄下建立一個目錄chinese:

linux 驗證碼亂碼解決方案,CentOS伺服器驗證碼亂碼解決

然後就是将上面的兩個字型上傳至/usr/shared/fonts/chinese目錄下即可:

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

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

接下來需要安裝ttmkfdir來搜尋目錄中所有的字型資訊,并彙總生成fonts.scale檔案,輸入指令:

yum -y install ttmkfdir

然後執行ttmkfdir指令即可:

ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

最後一步就是修改字型配置檔案了,首先通過編輯器打開配置檔案:

vi /etc/fonts/fonts.conf

可以看到一個Font list,即字型清單,在這裡需要把我們添加的中文字型位置加進去:

linux 驗證碼亂碼解決方案,CentOS伺服器驗證碼亂碼解決

然後輸入:wq儲存退出,最後别忘了重新整理記憶體中的字型緩存,這樣就不用reboot重新開機了:

fc-cache

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

linux 驗證碼亂碼解決方案,CentOS伺服器驗證碼亂碼解決

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