Java Graphics drawString写中文乱码,Linux

      近期web项目需要做二维码导出功能,并且在二维码底下加文字,做好之后部署到Linux环境下出现中文乱码。经排查之后发现代码中Font类(new Font("黑体", Font.BOLD, 35))用到了"黑体"中文字体,但Centos默认没有这种字体,所以出现乱码。安装好字体后,重新启动Tomcat问题得以解决,下面贴出Linux安装字体步骤。

1. 在 /usr/share/fonts 目录底下创建文件夹 chinese(文件夹名称可自取)

2. 复制需要添加的字体文件 "*.ttf"或"*.ttc" 到  /usr/share/fonts/chinese

3. 移动到/usr/share/fonts/chinese目录底下,使用以下命令创建索引(生成fonts.scale和fonts.dir)

                   /usr/share/fonts/chinese # mkfontdir  

                  /usr/share/fonts/chinese # mkfontscale 

4. 刷新字体:fc-cache

5. 查看字体:fc-list

注:第3步如果提示 mkfontscale/mkfontdir: command not found,需自行安装 # yum install mkfontscale/mkfontdir。如果fc-list没有看到添加的字体,有可能是此字体受版权保护无法添加进去,建议换成免费字体。步骤执行完之后重启Tomcat服务就生效了。


#开放端口:8080(已开启不需要执行)

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

你可能感兴趣的:(Java Graphics drawString写中文乱码,Linux)