请问BIRT报表中文是乱码怎么办?

火中凤凰 发布于 2012/03/23 16:13
阅读 3K+
收藏 0
我的数据库是ORACLE 10G ,数据库表的字符集是SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
在eclipse中新建的BIRT报表中文显示都是乱码,把字体改成宋体也没用。在新建数据集里写入SQL之后,预览结果里中文也是显示的是乱码。
数据库的字符集最好不要改。请问大家有没有办法解决这个乱码问题啊?谢谢大家了。
加载中
0
y
ycf

加个Event Handler 进行一下字符集转换就好了

0
Daniel_cs
Daniel_cs
推荐你用Finereport,操作比较简单,而且技术团队都很给力,有问必答
0
尽江南
FineReport是国产软件,完全没有这种问题
0
fossil426
fossil426

你好,这种问题在FineReport中这样解决的:

1. 为什么会出现乱码

编码有很多种,当相互访问的两端使用不同的编码时,就可能会产生无法互相识别的情况,这是就产生了乱码。
就像一个在中国的美国人,他说的英语如果被当做汉语来解析,就是一些大家无法理解的混乱语句,比如"I love you"解析成"哎老虎油",是无法被理解的,就产生了乱码。
2. 会出现中文乱码的情况
2.1 浏览器编码与服务器编码不同时会出现乱码
如:BS浏览器中访问报表或页面时出现乱码,则很可能是浏览器编码与服务器编码不一致,造成在页面上显示乱码或者显示一片空白。
如BS页面乱码,Linux导出或打印乱码,BS斜线丢失等等。
2.2 数据库中出现乱码
如:连接sybase数据库出现乱码的问题。
如sybase数据库乱码
3. 解决方案
将服务器编码与浏览器编码设置为同一种编码方式,就可以解决BS端乱码问题。其为何修改编码可以解决,可参见:编码章节的原理内容。
有如下两种解决方案:
3.1 修改服务器编码
若已知浏览器编码为GBK的情况下,则修改服务器编码。打开FR平台,在管理系统>系统管理>常规属性下,修改服务器端字符编码为GBK即可。
3.2 修改浏览器编码
若已知服务器编码为UTF-8,则修改其页面的编码与服务器编码统一即可。如:打开其页面,修改页面开头处的代码为charset=UTF-8即可,如下:
  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
返回顶部
顶部