//注:这篇文章很有参考价值,它帮忙解决了导出数据时excel中文乱码问题,但是没有解决pdf中文显示为空白的问题,最起码没有解决我的问题。
//后记:pdf输出中文为空白的问题已经解决了,参见我的另一文:《displaytag无法导出pdf、rtf?????? 已解决》
ou
大家可以看看此文。
displaytag的export功能中文出现乱码...
2009年09月19日 05:01 来源:普索网
displaytag不错用
但是我在使用export功能时,
export成excel档和CSV档时,中文会变成乱码
export成pdf档时,中文会变成空白
哪位高手曾解决此一问题?
请指教一下
3Q
我也有问题.我所有的页面和数据库都用utf-8编码,但是到excel那里就出错,是不是excel就根本不支持utf- 8
我也是~转成pdf中文就给我空着不显示,谁会教我谢谢
之前试用displaytag的export功能时,也发生过中文乱码的问题,我试着去看其原始码,发现其编码设定为Big5,当编码与此不同时,就会产生乱码。为此,我试着改了二支程式:
1、org.displaytag.filter.ResponseOverrideFilter,我修改其init的部分,让我可以在web.xml里设定我要的编码。
2、org.displaytag.filter.ExportDelegate,这支程式是真正决定资料编码的地方,所以配合修改,让它去接前一支程式的参数。
另,当我解决此一问题後,又发现PDF的中文仍有问题,只要资料是中文的地方,皆会显示空白,我也试着去看其原始码,发现其资料的字型设定为HELVETICA,才会无法显示中文,为此我试着改了一支程式:
org.displaytag.export.PdfView,我修改了它设定字型的地方,将字型改为MHei-Medium(细明体)。
目前我再试着Export就没有中文的问题了
哈 纯灌水~~
广告一下 楼上的是偶目前同事 这锅问题花了她一下子的时间就改好了。
用她的方式 真的就能有UTF-8的EXCEL 和 PDF 欧
叫她神吧~~~
Amy5239 wrote:
之前试用displaytag的export功能时,也发生过中文乱码的问题,我试着去看其原始码,发现其编码设定为Big5,当编码与此不同时,就会产生乱码。为此,我试着改了二支程式:
1、org.displaytag.filter.ResponseOverrideFilter,我修改其init的部分,让我可以在web.xml里设定我要的编码。
2、org.displaytag.filter.ExportDelegate,这支程式是真正决定资料编码的地方,所以配合修改,让它去接前一支程式的参数。
另,当我解决此一问题後,又发现PDF的中文仍有问题,只要资料是中文的地方,皆会显示空白,我也试着去看其原始码,发现其资料的字型设定为HELVETICA,才会无法显示中文,为此我试着改了一支程式:
org.displaytag.export.PdfView,我修改了它设定字型的地方,将字型改为MHei-Medium(细明体)。
目前我再试着Export就没有中文的问题了
不好意思,能否请您详述一下如何修正那两支程式
我修改过後, EXCEL 汇出 utf-8 网页内容看到的仍然是乱码
(CSV 跟 XML utf-8 中文显示正常)
PS: displaytag 版本 1.0
Excel不支援UTF-8的编码
请改用Big5编码吧
列出displaytag 1.2版中文PDF与Excel中文乱码解决方案:
Excel乱码部分(使用poi-3.2-FINAL-20081019.jar)//注意版本,否则可能提示缺少部分方法。。。。
1.请下载displaytag-export-poi-1.2.jar
2.在displaytag.properties加入export.excel.class=org.displaytag.export.excel.ExcelHssfView
PDF中文消失部分(使用iText 2.1.5)
1.请下载 iTextAsian.jar
2.请下载displaytag 1.2的source code
3.自行复制org.displaytag.export里的PdfView.java於自订的package
4.於initTable()中修改
1
smallFont = FontFactory.getFont(FontFactory.HELVETICA, 7, Font.NORMAL, new Color(0, 0, 0))
变成
1
smallFont = FontFactory.getFont("MHei-Medium", "UniCNS-UCS2-H", Font.DEFAULTSIZE);
5.在displaytag.properties加入export.pdf.class=com.kymco.displaytag.export.PdfView,其中com.kymco.displaytag.export应改成您自己的package