如何处理appfuse中DisplayTag导出EXCEL PDF格式中文乱码的问题?
如何处理appfuse中DisplayTag导出EXCEL PDF格式中文乱码的问题?
EXCEL:修改displaytag-1.1.jar包中org.displaytag.export.ExcelView类,如下
红色为添加部分,不过在有此造成在导出过程中的编码转换,程序速度会慢很多。
......
/**
* @see org.displaytag.export.ExportView#getMimeType()
* @return "application/vnd.ms-excel"
*/
public String getMimeType()
{
return "application/vnd.ms-excel;charset=GBK"; //$NON-NLS-1$
}
......
PDF:
先下载iTextAsian.jar包,放到/lib下
修改修改displaytag-1.1.jar包中org.displaytag.export.PdfView类,如下
......
/**
* Initialize the main info holder table.
* @throws BadElementException for errors during table initialization
*/
protected void initTable() throws BadElementException
{
tablePDF = new Table(this.model.getNumberOfColumns());
tablePDF.setDefaultVerticalAlignment(Element.ALIGN_TOP);
tablePDF.setCellsFitPage(true);
tablePDF.setWidth(100);
tablePDF.setPadding(2);
tablePDF.setSpacing(0);
//smallFont = FontFactory.getFont(FontFactory.HELVETICA, 7, Font.NORMAL, new Color(0, 0, 0)); //原来
smallFont = FontFactory.getFont("STSong-Light","UniGB-UCS2-H", Font.DEFAULTSIZE); //改为
}
......