Archive

Posts Tagged ‘Appfuse’

Appfuse 乱码问题

September 9th, 2011 leeing No comments

Appfuse是一个辅助快速开发的JAVA EE框架,本文主要阐述在Appfuse中出现的字符编码问题。

1.    DisplayTag表格导出Excel乱码问题。

 

(项目搭建初期导出的Excel中文会乱码)

解决方法:在项目的根目录中的pom.xml中加入一个依赖:

<dependency>

<groupId>displaytag</groupId>

<artifactId>displaytag-export-poi</artifactId>

<version>1.2</version>

</dependency>

同时,修改displaytag.properties ,在此文件中增加一行:export.excel.class=org.displaytag.export.excel.ExcelHssfView。

2.    DisplayTag表格上方出现乱码。 

 

在项目搭建的初始阶段,表格上方的”共找到。。。到。。条”这些全是乱码。

在Netbeans中打开displayTag.zh_CN.properties,看到的也全是乱码。

解决方法是,用记事本打开这个文件,另存为UTF-8格式;注意Netbeans对这种编辑方式支持并不好,所以直接使用记事本更简单快捷。

3.    在jsp文件中,输入中文时,提示保存为ISO-8859-1的格式,在部署页面中出现乱码。 

 

 

 

在Netbeans中如果直接保存会产生乱码。

解决方法:用记事本或其它文本编辑器,直接在此jsp文件中输入中文并保存为UTF-8格式即可。

但是请注意,由于JSTL已经提供了良好的i18N功能,在默认情况下,最好使用<fmt:message value=”">的形式,而不是直接在页面中使用中文。

4.    NamedQuery的字符编码问题

queryParams.put(“runningStatus”, “作为备件”) // 这种写法无法查询出结果

解决方案:

String temp = new String(“作为备件”.getBytes(), “UTF-8″); // 必须用这种方式

queryParams.put(“runningStatus”, temp);

NameQuery 主要出现在 model包下,具体请查看相应的源代码。

5.    Appfuse提供了文件上传功能,但没有提供文件下载功能。在自己写了个文件下载功能以后,文件下载时文件名,中文名会乱码

解决方案:

response.setHeader(“Content-Disposition”, “attachment;fileName=”+java.net.URLEncoder.encode(name, “UTF-8″));

其中,name为保存文件名的变量。

6.    MySQL中文问题

重新运行并配置MySQL,将默认的字符编码设置为UTF-8格式,并确保导入的数据也是UTF-8格式。

PS:本文是用 Word 2010 发表的,不过感觉没有 Windows live writer 好用。

 

Categories: Java EE Tags: