java使用Graphics 生成二维码等图片中文乱码

中文乱码,画笔的字体选择是字体雅黑 这个乱码的原因就是以为linux没有对应的字体

        Graphics g = image.createGraphics();
        // 设置 Graphics 的绘制颜色
        g.setColor(color);
         // 设置字体
        g.setFont(new Font("微软雅黑", Font.PLAIN, fontSize));
        // 开始绘制
        g.drawString(pressText, startX, startY);

fc-list 查看已安装的字体
fc-list :lang=zh 查看已安装的中文字体

1、无外网到百度网 下载微软雅黑字体
https://pan.baidu.com/s/1LFlNhDEmgwASlyzzQQNScQ 4ger
有外网的情况 在centos上,使用如下命令进行安装:
yum install -y fontconfig mkfontscale
有外网的情况 在ubuntu上,使用如下命令进行安装:
sudo apt-get -y install fontconfig xfonts-utils

2、cp 字体.ttf /usr/share/fonts/ 把字体复制到这个目录下

3、然后建立字体索引信息,更新字体缓存,使用如下命令:
cd /usr/share/fonts/
mkfontscale 可能失败无所谓
mkfontdir 可能失败无所谓
fc-cache
再次查看字体已安装的字体 fc-list :lang=zh

4、重启java服务 或者其他服务

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容