我的整个项目编码为GBK,而页面编码为UTF-8,并且不能转换成GBK的,一转换页面就出乱码了,我从页面传参到action中,用的是手动提交表单.
在页面显示中文为正常的,而传到action中却 出乱码了
后来 我又用 String result=new String(str.getBytes("iso-8859-1"),"utf-8");
这个方法来转换,结果, 如果我页面传来的参数值 中文为偶数,就没乱码,奇数就出乱码,郁闷啊我...
我的过滤器代码
<filter>
<filter-name>Encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
页面编码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
action代码
String hisAddr=change(request.getParameter("hisAddr"));
private String change(String str) throws UnsupportedEncodingException{
if(null==str){
return null;
}
String result=new String(str.getBytes("iso-8859-1"),"utf-8");
return result;
}
项目编码
求高手指点迷津,只要能解决,解给分,也希望能学到更多东西...
谢谢...!