2019独角兽企业重金招聘Python工程师标准>>>

JasperServer 图表中文乱码解决

问题描述

报表本地预览正常。上传到 Linux 服务器后,图表中的中文显示为“□”,其他地方中文显示正常。

问题原因

Jasper 图表生成使用了 JFreeChart,后者需要依赖本地字体。如果在 JasperServer 中找不到相应的中文字体,则会产生上述问题。

解决方式

可以将要用到的字体导入到 Jaspersoft Studio,在报表开发时使用这些定义的字体。然后通过该开发工具将用到的字体导出为 Jar 包部署到服务器中,即可解决该问题。具体步骤如下:

  1. 在 Jaspersoft Studio 中,通过 Window -> Preferences 进入 Preferences 窗口

  2. 通过 Jaspersoft Studio -> Fonts 进入 Fonts 设置页面

  3. 通过 Add From Path,选择路径将将用到的字体(.ttf 文件)导入到开发工具中。如果有多个字体,还可以添加一个 Set 字体集,方便使用

  4. 勾选要使用的字体或字体集,点击 Export,在指定位置导出为一个 jar 包

  5. 点击 Apply,OK,完成字体导入

  6. 开发图表时,将使用的字体全部选择为之前导入到开发工具中的字体,这些内置的字体会显示在一个分隔符上方(注意 Chart 和 Chart Plot 页签下的所有可以设置字体的地方都要这样处理)。改好之后重新发布到 JasperServer。

  7. 在服务器中,编辑 <js-install>\WEB-INF\classes\jasperreports.properties 文件,插入如下行:

    net.sf.jasperreports.web.resource.pattern.fonts=fonts/.*
    
  8. 将之前导出的字体 jar 包添加到 <js-install>WEB-INF\lib 路径下

  9. 关闭并重新启动 JasperServer。图表上的中文字体可以正确展示了!

转载于:https://my.oschina.net/YorkeCao/blog/872394

JasperServer 图表中文乱码解决相关推荐

  1. java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**

    原文出处:http://cmsblogs.com/?p=1412 在上篇博文(java中文乱码解决之道(一)-–认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述 ...

  2. pycharm 运行控制台中文乱码解决办法

    pycharm 运行控制台中文乱码解决办法

  3. vs code中文乱码解决方法

    修改 1.(安装方法) 2.显示终端输入数据输出结果(完美解决) 3.修改部分:中文乱码解决方法 第一步: 第二步: 1.(安装方法) 转载于: https:blog.csdn.net/qq_4304 ...

  4. Zabbix 中文乱码解决

    Zabbix 中文乱码解决 1.在本地的C:\Windows\Fonts下选择自己喜欢的字体,此处选择黑体(我只测试过宋体,楷体,黑体,幼圆其他中文字体应该都支持) 在C:\Windows\Fonts ...

  5. Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法

    Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法如下: 1.打开"gFTP-FTP-属性-常规-远程字符集": 2.将远程字符集设置为:gb2312,gbk ...

  6. navicat for mysql 显示中文乱码解决办法

    navicat for mysql 显示中文乱码解决办法   最近遇到一个问题,用navicat for mysql 打开数据库时全都显示的是乱码(在用程序代码插入数据之前确保字符不是乱码),遇到问题 ...

  7. python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 参考文章: (1)python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) (2)https://www.cnblog ...

  8. Sublime Text 3中文乱码解决方法以及安装包管理器方法

    Sublime Text 3中文乱码解决方法以及安装包管理器方法 参考文章: (1)Sublime Text 3中文乱码解决方法以及安装包管理器方法 (2)https://www.cnblogs.co ...

  9. axios请求GBK页面中文乱码解决方法

    axios请求GBK页面中文乱码解决方法 参考文章: (1)axios请求GBK页面中文乱码解决方法 (2)https://www.cnblogs.com/bjhl/articles/10514038 ...

  10. charles抓包工具的中文乱码解决方法

    charles抓包工具的中文乱码解决方法 参考文章: (1)charles抓包工具的中文乱码解决方法 (2)https://www.cnblogs.com/grimm/p/7494688.html 备 ...

最新文章

  1. 强烈推荐8款高质量的网站,可以解决很多问题
  2. OpenGL编程指南12:光照_渲染真实球体
  3. JavaScript实现省市二级联动
  4. c++将字符串转换成 int 类型
  5. 【Python 19】BMR计算器3.0(字符串分割与格式化输出)
  6. 慢日志定位到备份锁表Waiting for global read lock原因
  7. http请求/相应及如何在chrome中查看
  8. bouncing-balls-evil-circle
  9. Android mainfests手记
  10. access mysql 升迁_随说秋色园从Access升迁到MSSQL过程
  11. JDBC:深入理解PreparedStatement和Statement
  12. 蒙特卡罗计算积分matlab,matlab下二重积分的蒙特卡洛算法
  13. html css笔记zht
  14. 硬盘损坏如何恢oracle,硬盘损坏后恢复数据的几种方法
  15. 消息中间件:选型分析。
  16. 计算机学科专业基础综合408考研经验
  17. module_init源码分析
  18. 从程序员代码“呼救”大破传销组织_聊掌握一门编程语言的重要性!
  19. 思岚科技再次出征CES 看点十足
  20. 人生被彻底改变时,我还以为那只是寻常的一天

热门文章

  1. Android] AndroidManifest.xml文件解析
  2. MagicZoom bug-Strict Standards: Only variables should be assigned by reference Error
  3. 更新ADT20后无法创建Android项目
  4. xilinx spartan-3a iob
  5. presto 使用 部署_探秘Presto+Alluxio高效云端SQL查询
  6. Android 存储学习之使用SharedPreference保存文件
  7. Linux FrameBuffer分析
  8. 无锁队列详细分解 — 顶层设计
  9. H.264中的指数哥伦布解码
  10. mysql show命令用不了_MySQL show命令的用法