Linux服务器JRE中文字体设置,解决java.awt乱码、显示方块问题-阿里云开发者社区

开发者社区> 牧码> 正文

Linux服务器JRE中文字体设置,解决java.awt乱码、显示方块问题

简介: 最近因为需要在java应用中合成曲线图,使用了jfreechart库,但是发现图片中的中文全都显示成方块了。Linux机器一般都是没有中文字体的,所以在使用java.awt相关类生成图片时,输出的中文很可能显示乱码或者呈方块状。解决方案就是在服务器启动脚本里,加上安装中文字体的步骤。
+关注继续查看

云栖号:https://yqh.aliyun.com
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

最近因为需要在java应用中合成曲线图,使用了jfreechart库,但是发现图片中的中文全都显示成方块了。
根据网络上的经验,在创建图表之前,先设置主题ChartFactory.setChartTheme(standardChartTheme);
或者设置字体时用setFont(Font font),发现也不能解决问题。
后来意识到是服务器本身缺少中文字体的问题,Linux机器一般都是没有中文字体库的,所以在使用java.awt相关类生成图片时,输出的中文很可能显示乱码或者呈方块状。解决方案就是在服务器启动脚本里,加上安装中文字体库的步骤:

  1. 安装字体到系统中。
  2. 在JRE目录下创建fonts/callback目录。
  3. 将Linux系统的字体目录作为JRE下面的字体目录连接。

对应Docker命令:

安装字体

RUN yum -y install wqy-microhei-fonts wqy-zenhei-fonts
RUN mkdir -p /opt/xxx/java/jre/lib/fonts/fallback
RUN ln -s /usr/share/fonts /opt/xxx/java/jre/lib/fonts/fallback

这里可以选择任意开源中文字体,我用了文泉译测试。

验证:

  1. 在改动之前先登录机器,进入目录/usr/share/fonts,可以看到下面只有dejavu字体库。
  2. 在docker脚本中添加上述命令后,重新部署到服务器上,该目录下多了字体库wqy-microhei 和 wqy-zenhei。
  3. 这时再触发生成图片的服务,中文正常显示。

_2020_03_17_15_56_26

云栖号在线课堂,每天都有产品技术专家分享
立即加入圈子:https://c.tb.cn/F3.Z8gvnK
与专家面对面,及时了解课程最新动态!

原文发布时间:2020-03-17
本文作者:牧码
本文来自:“阿里云云栖社区”,了解相关信息可以关注“阿里云云栖社区

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Spring Boot Admin,贼好使!(8)
Spring Boot Admin,贼好使!(8)
20 0
Spring Boot Admin,贼好使!(7)
Spring Boot Admin,贼好使!(7)
19 0
更快的Maven构建工具mvnd和Gradle哪个性能更好?(5)
更快的Maven构建工具mvnd和Gradle哪个性能更好?(5)
20 0
Spring Boot Admin,贼好使!(5)
Spring Boot Admin,贼好使!(5)
27 0
保姆级教程,终于搞懂脏读、幻读和不可重复读了!(6)
保姆级教程,终于搞懂脏读、幻读和不可重复读了!(6)
22 0
更快的Maven构建工具mvnd和Gradle哪个性能更好?(4)
更快的Maven构建工具mvnd和Gradle哪个性能更好?(4)
17 0
保姆级教程,终于搞懂脏读、幻读和不可重复读了!(7)
保姆级教程,终于搞懂脏读、幻读和不可重复读了!(7)
20 0
更快的Maven构建工具mvnd和Gradle哪个性能更好?(3)
更快的Maven构建工具mvnd和Gradle哪个性能更好?(3)
24 0
Spring Boot Admin,贼好使!(3)
Spring Boot Admin,贼好使!(3)
26 0
Spring Boot Admin,贼好使!(4)
Spring Boot Admin,贼好使!(4)
25 0
+关注
牧码
JAVA程序媛,欢迎交流!
2
文章
8
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载