问题原因
linux系统没有windows系统里面的字体,从而导致中文字符会乱码显示
解决方式
1. 首先复制windows 字体库,路径为 : C:\\Windows\\Fonts
2. 在/usr/share/fonts/目录下新建文件夹 winFonts
3. cd /usr/share/fonts/winFonts
4. 把从windows系统复制的字体库全部放到winFonts文件夹里面
5. sudo mkfontscale//(如果提示 mkfontscale命令未找到,需安装 yum install mkfontscale )
6. sudo mkfontdir //这两条命令是生成字体的索引信息
7. sudo fc-cache -fv //更新字体缓存(如果提示 fc-cache命令未找到,需安装 yum install fontconfig)
8. reboot //如果更新字体无效,则需要重启电脑
解决过程中会碰到的异常问题
1.如果报错:symbol lookup error: /lib64/libfontconfig.so.1: undefined symbol:FT_Done_MM_Var
这种一般是libfontconfig的版本过高导致。
查看对应的版本,版本为1.12.0就会导致上述问题,1.11.1就是正常的
cd /usr/lib64
ll /usr/lib64/libfontconfig.so.1
如果版本是1.12.0,需要先删除掉原有链接文件:libfontconfig.so.1,再重新建立软链接。
sudo rm libfontconfig.so.1
sudo ln -s libfontconfig.so.1.11.1 libfontconfig.so.1
#重新执行看是否成功
ll /usr/lib64/libfontconfig.so.1