問題描述:本地測試系統運行環境為Windows操作系統,服務器系統為CentOS系統。注冊功能中驗證碼在上線系統中出現亂碼,需導入驗證碼相對應字體文件。
解決方式:
1、如服務器無字體庫,需先添加字體庫(通過fc-list命令查看)。
yum -y install fontconfig
命令執行成功后,在/usr/share目錄下出現fonts、fontconfig目錄。
2、添加字體文件
Windows系統中驗證碼字體格式為Arial格式,在控制面板 - 字體中找到Arial,復制文件放入arial文件夾中。通過Xftp將Arial文件夾放在/usr/share/fonts文件夾下。
3、修改arial目錄權限
chmod -R 755 /usr/share/fonts/arial
4、安裝執行ttmkfdir
安裝:
yum -y install ttmkfdir
搜索目錄中所有的字體信息,匯總生成fonts.scale文件:
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
5、修改字體配置文件
打開/etc/fonts目錄下字體配置文件:
vi /etc/fonts/fonts.conf
在Font directory list中添加arial字體文件路徑:
<dir>/usr/local/share/fonts/arial</dir>
保存退出。
6、刷新字體緩存
刷新內存中字體緩存:
fc-cache
重新查詢字體列表:
fc-list