问题:Linux下Java生成图片字体中文乱码问题
首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令。
fc-list
上图可以看出,不仅没有中文字体,连字体库都没有。
方法一
1、将需要的字体上传jdk目录:自己jdk安装的路径/jre/lib/fonts
2、需要的字体可以从window中找,目录:C:\WINDOWS\Fonts\
3、例如:例如:msyhbd.ttf msyh.ttf
4、传输
# windows
scp -r msyhbd.ttf root@xxx:自己jdk安装的路径/jre/lib/fonts
scp -r msyh.ttf root@xxx:自己jdk安装的路径/jre/lib/fonts
# mac
scp -r simsun.ttc root@xxx:自己jdk安装的路径/jre/lib/fonts
方法二
1、安装字体库:yum -y install fontconfig(若没有字体库,一般都有)
2、添加中文字体,需要的字体可以从window中找,目录:C:\WINDOWS\Fonts\
3、上传中文字体,首先先建一个文件夹存放
cd /usr/share/fonts/
mkdir chinese
chmod -R 755 /usr/share/fonts/chinese
4、安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件
yum -y install ttmkfdir
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
5、修改字体配置文件
vim /etc/fonts/fonts.conf