Struts 1.3开发于Myeclipse 6.x+Tomcat6.x环境中中文乱码问题之解决方案
Struts 1.3中文问题处理
在Struts 中有可能出现中文问题的情况共有3处:
1. 在JSP页面中的文字出现乱码;
2. 在Servlet,JSP传递中文参数,导致乱码出现;
3. 在Struts国际化过程中,中文资源文件出现乱码问题;
无论是上述的何种情形,解决问题的基本思路都是一致的,就是想方设法将编码方式都统一为UTF-8。
针对第1种情况,解决方法相当简易, 就是将对应JSP页面的编码方式由默认的ISO-8859-1改成UTF-8即可.
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
而第二种情况,我们可以利用过滤器进行解决,具体作法如下:
2.1 修改Tomcat conf/目录下的server.xml文件
为了确保Tomcat中的运作使用的也是UTF-8编码方式,需要修改Tomcat conf/目录下的server.xml文件。在大约50行处找到
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443"/>
在其后添加:URIEncoding="UTF-8",使得Tomcat在URI的编码方式确定为UTF-8
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
2.2 编写过滤器,示例代码如下:
package net.ansonzeng.webexample;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class CharacterEncodingFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
//把request对象的编码方式变为UTF-8
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
2.3 在project 的web.xml中添加filter的声明,示例代码如下:
<filter>
<filter-name>characterEncoding</filter-name>
<filter-class>net.ansonzeng.webexample.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>characterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
上述过滤器是对所有的操作都进行UTF-8的编码统一,在实际开发中可以根据实际需要,进行选择性过滤。
至于第三种情况,可以使用JDK自带的小工具native2ascii,将中文的国际化文件进行UTF-8的编码。但更推荐使用eclipse 的插件resource bundle editor来进行struts国际化的处理。Resource bundle editor的下载地址如下:
http://sourceforge.net/projects/eclipse-rbe/
相关的使用教程可在google上轻易查到,本文在此略过。
myeclipse中文乱码的解决方法
4星 · 超过85%的资源 需积分: 33 131 浏览量
2008-09-18
21:14:44
上传
评论
收藏 1KB RAR 举报
zhoululu8888
- 粉丝: 12
- 资源: 67