注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小木舟的博客

笔墨生活随想,记录似水年华。

 
 
 

日志

 
 

Jpivot mdx查询编辑器和Jpivot导出PDF、Excel中文乱码问题  

2010-10-16 11:36:57|  分类: 商业智能 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

最近学习Mondrian的时候,遇到了Jpivot的几个中文乱码的问题,在这里汇总、梳理下在网上找到的解决方法。

一、             Jpivot mdx查询编辑器输入时的中文乱码问题

下载Jpivot1.8部署后,使用jpivot mdx查询编辑器,输入带有中文的查询会返回乱码并报错。究其原因是页面requestcontent编码格式是iso-8859-1,要一劳永逸的解决此类问题,可以按以下步骤改动相关文件:

1.web.xml中加入以下代码:

   <filter>

    <filter-name>Set Character Encoding</filter-name>

    <filter-class>com.tonbeller.wcf.charset.CharsetFilter</filter-class>

    <init-param>

    <param-name>encoding</param-name>

    <param-value>UTF-8</param-value>

    </init-param>

   </filter>

 

  <filter-mapping>

    <filter-name>Set Character Encoding</filter-name>

    <url-pattern>/*</url-pattern>

  </filter-mapping>

2. 修改WebRoot目录下的testpage.jsp的两处charsetcharset=UTF-8,修改后的两处分别为:

<%@ page session="true" contentType="text/html; charset=UTF-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

修改后问题就不会再出现了。

(参考自http://blog.csdn.net/leiyc0330/archive/2009/12/08/4964661.aspx)

 

 

二、             Jpivot中输出pdf打印汉字、excel导出中文时的乱码问题

Jpivot中导出pdf时,中文会显示“#”,导出的excel可能会有乱码,修改方法如下。

1. WEB-INF\jpivot\print目录下建立userconfig.xml文件。内容如下:(仅配置黑体)

xml 代码:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <fonts>

       <font metrics-file="simhei.xml" kerning="yes" embed-file="simhei.ttf">

           <font-triplet name="SimHei" style="normal" weight="normal" />

           <font-triplet name="SimHei" style="normal" weight="bold" />

           <font-triplet name="SimHei" style="italic" weight="normal" />

           <font-triplet name="SimHei" style="italic" weight="bold" />

       </font>

    </fonts>

</configuration>

2. 下载ApacheFOP(点击这里下载,下载后文件如果没有后缀名请添加后缀名zip),将fop.jar改为fop.zip,解开fop.zip,启用cmd,并到它的目录中,执行以下命令:

java org.apache.fop.fonts.apps.TTFReader -ttcname SimHei C:\WINDOWS\Fonts\simhei.ttf simhei.xml

然后就会在fop的目录中生成需要的字体描述文件:simhei.xml

3. simhei.xml,以及simhei.ttf文件放到WEB-INF\jpivot\print目录下。其中,simhei.ttfC:\WINDOWS\Fonts\这个系统字体文件夹中。

4. 修改WEB-INF\jpivot\table目录下的fo_mdxtable.xsl文件,把所有的font-family对应成SimHei。其中,<fo:block font-size="8pt" font-family="Verdana, Geneva, Arial, Helvetica, sans-serif">也可以改为<fo:block font-size="8pt" font-family="Verdana, Geneva, Arial, Helvetica, sans-serif, SimHei">,也即是在后面追加一个SimHei字体。

PDF的中文“#”乱码问题到此就可以解决了。

5.如果你的Excle导出出现乱码,可能是因为Excel中不支持UTF-8, Excel输出对应的xsl文件是:../web-inf/jpivot/table目录下的xls_mdxtable.xsl,只要这个文件的encoding换为GBK就可以了。

(参考自http://www.javaeye.com/topic/80801)

  评论这张
 
阅读(1672)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017