Tomcat程序运行的JAVA程序,在导出图片时,会出现中文乱码,也给Tomcat server.xml中指定URIEncoding="UTF-8"参数了,也无效。

这是因为Tomcat在处理程序时请求的是系统字体,所以必须系统有中文字体才可以正常处理中文。

像cutycapt、html2image等网站页面截图工具,也会出现这样的乱码问题。类似于下面:

Tomcat导出图片中文乱码_第1张图片


1、在/usr/share/fonts/下,新建文件夹winFonts,如果没有fonts目录,就安装fontconfig软件(系统字体管理),再将win7字体msyh.ttf复制到Ubuntu /usr/share/fonts/中。


2、安装字体,如果没有下面命令就安装xfonts-utils工具

# sudo chmod 664 /usr/share/fonts/winFonts/*

# cd /usr/share/fonts/winFonts/

# sudo mkfontscale   

# sudo mkfontdir

# sudo fc-cache -fv   #建立字体缓存信息


3、查看是否成功

# fc-list :lang=zh-cn  #如果成功就会有如下信息,再重新启动Tomcat就没有乱码了。

Microsoft YaHei,微软雅黑:style=Regular,Normal,obyejné,Standard,Κανονικ,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta