免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1494 | 回复: 0
打印 上一主题 下一主题

Struts 1.3开发于Myeclipse 6.x+Tomcat6.x环境中中文乱码问题之解决方案 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-26 20:56 |只看该作者 |倒序浏览

Struts 1.3中文问题处理
在Struts 中有可能出现中文问题的情况共有3处:
1. 在JSP页面中的文字出现乱码;
2. 在Servlet,JSP传递中文参数,导致乱码出现;
3. 在Struts国际化过程中,中文资源文件出现乱码问题;
无论是上述的何种情形,解决问题的基本思路都是一致的,就是想方设法将编码方式都统一为UTF-8。
针对第1种情况,解决方法相当简易, 就是将对应JSP页面的编码方式由默认的ISO-8859-1改成UTF-8即可.
而第二种情况,我们可以利用过滤器进行解决,具体作法如下:
2.1 修改Tomcat conf/目录下的server.xml文件
为了确保Tomcat中的运作使用的也是UTF-8编码方式,需要修改Tomcat conf/目录下的server.xml文件。在大约50行处找到
在其后添加:URIEncoding="UTF-8",使得Tomcat在URI的编码方式确定为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的声明,示例代码如下:
  characterEncoding
  net.ansonzeng.webexample.CharacterEncodingFilter


  characterEncoding
  /*

上述过滤器是对所有的操作都进行UTF-8的编码统一,在实际开发中可以根据实际需要,进行选择性过滤。
至于第三种情况,可以使用JDK自带的小工具native2ascii,将中文的国际化文件进行UTF-8的编码。但更推荐使用eclipse 的插件resource bundle editor来进行struts国际化的处理。Resource bundle editor的下载地址如下:
http://sourceforge.net/projects/eclipse-rbe/
相关的使用教程可在google上轻易查到,本文在此略过。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/53763/showart_450850.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP