Centos下JAVA生成图片时字体乱码


 最近项目使用了spring boot构建服务,项目跑在Centos6和Centos7的系统上,项目中有一个使用JAVA生成png图片时中文会造成乱码。

由于网上找了N多的资料,最终才把问题解决。很多说把字体放到Jre下的fonts目录下,但是未能见效。而且Centos6和Centos7的系统也有一些不同,所以记录一下:

Centos6解决方法:

  1. yum install fontconfig-devel 
  2. yum groupinstall chinese-support  

centos7系统:

  1. yum install fontconfig-devel 
  2. yum groupinstall fonts 

 

检查是系统中的字体列表,当看到有中文字体的时候就可以了。

fc-list[此命令来自上面的fontconfig工具包],如果不安装就没有fc-list命令而且在/usr/share/目录下也没有fonts目录。

  1. [root@Tomcat fonts]# fc-list  
  2. AR PL UMing TW:style=Light 
  3. AR PL UMing HK:style=Light 
  4. FangSong,仿宋:style=Regular,Normal,oby?ejné,Standard,Κανονικ?,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta 
  5. AR PL UMing CN:style=Light 
  6. Microsoft YaHei,微软雅黑:style=Regular,Normal,oby?ejné,Standard,Κανονικ?,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta 
  7. SimSun\-ExtB:style=Regular,Normal,oby?ejné,Standard,Κανονικ?,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta 
  8. STFangsong,华文仿宋:style=Regular 
  9. AR PL UKai TW MBE:style=Book 
  10. AR PL UKai CN:style=Book 
  11. AR PL UKai HK:style=Book 
  12. AR PL UKai TW:style=Book 
  13. WenQuanYi Zen Hei,文泉?正黑,文泉驿正黑:style=Regular 
  14. Microsoft YaHei,微软雅黑:style=Bold,Negreta,tu?né,fed,Fett,?ντονα,Negrita,Lihavoitu,Gras,Félk?vér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kal?n,Krepko,Lodia 
  15. WenQuanYi Zen Hei Mono,文泉?等?正黑,文泉驿等宽正黑:style=Regular 
  16. AR PL UMing TW MBE:style=Light 
  17. WenQuanYi Zen Hei Sharp,文泉???正黑,文泉驿点阵正黑:style=Regular 

直接解决方法:

从Windows系统中复制几个字体:/usr/share/fonts/ 到此目录下;

  1. [root@Tomcat fonts]# ls -lh 
  2. total 99M 
  3. drwxr-xr-x 2 root root 4.0K Nov 21 19:01 cjkuni-ukai 
  4. drwxr-xr-x 2 root root 4.0K Nov 21 19:01 cjkuni-uming 
  5. -rw-r--r-- 1 root root  29M Nov 30 18:48 fonts.tar.gz 
  6. -rw-r--r-- 1 root root  14M Jun 11  2009 msyhbd.ttf 
  7. -rw-r--r-- 1 root root  21M Jun 11  2009 msyh.ttf 
  8. -rw-r--r-- 1 root root  11M Jun 11  2009 simfang.ttf 
  9. -rw-r--r-- 1 root root  15M Jun 11  2009 simsunb.ttf 
  10. -rw-r--r-- 1 root root  11M Oct 29  2002 STFANGSO.TTF 
  11. drwxr-xr-x 2 root root 4.0K Nov 21 19:01 wqy-zenhei 

配置完成后只需要把项目重新启动一下即可看到效果。