Jaspersoft Studio(报表设计器)中文乱码问题的解决方法

Jaspersoft Studio 本身不支持中文字符,所以如果报表中存在中文字符,就会变成一个一个的小方块:

中文乱码

有两种解决方案:

1 使用 unicode 码

  1. 找一个汉字转 unicode 码的网站,把你想要输入的汉字转换为 unicode:

汉字转换为 unicode

  1. 使用支持表达式的组件

不要使用 “static text”,因为它不会对内容进行转换。这时要替换为 “text field” 组件,并把汉字对应的 unicode 拷贝过来:

text field

3.调整字体格式

点击顶部工具栏,选择相应的中文字体,并设置字体大小:

可惜这里的字体最大只能到 26。

4.运行测试

中文

看到漂亮的中文字是不是很开心呀O(∩_∩)O~

2 安装中文字体

使用 unicode 固然可以解决中文字符显示问题,但还是觉得转换麻烦,有没有更好的解决方法呀?当然有的啊O(∩_∩)O~

  1. 下载中文字体

这里的示例字体(ttf 格式)用的是微软雅黑,当然可以使用任意字体啦O(∩_∩)O~

  1. 安装

window -> preference

打开字体管理器:

字体管理

点击右边的 Add,添加字体。只需要输入字体名称并选择字体所在的路径:

添加字体

设置好后,点击 next -> next ->finish,就可以啦O(∩_∩)O~

next 后面的设置,一个与 HTML 字体有关,另一个与本地化字符有关,一般很少用到的啦

  1. 测试

我们使用新的 static text 组件,输入中文字符试试:

设计模式

运行后:
运行模式

现在连 static text 组件都支持啦,是不是很厉害呀O(∩_∩)O~

注意:必须要用新的 static text 组件,如果只是修改模板中已存在的 static text 组件是不生效的,显然 Jaspersoft Studio 不会对旧的组件应用新的字体库。

  1. 字体微调

点击 static text 组件,就可以顶部的中间位置找到字体设置项,进行微调啦:

字体微调