jsp的url后跟中文参数传参出现乱码
2014-06-08 12:46
288 查看
①重新编码:String urlParam= request.getParameter("urlParam");
urlParam= new String(urlParam.getBytes("ISO-8859-1"), "UTF-8");
②tomcat中统一编码
tomcat 的server.xml中在相对应的端口中加下面两句
useBodyEncodingForURI="true"
URIEncoding="UTF-8"
③在web.xml文件中配一个过滤器:(没有试验成功)
第一步:<filter>
<filter-name>filter</filter-name>
<filter-class>com.social.filter.CodeFilter</filter-class> 设置过滤器的类名(filter包下的CoderFilter类)
</filter>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
第二步:编写com.social.filter.CodeFilter类:
import javax.servlet.Filter;
public class CodeFilter implements Filter {
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
//把ServletRequest强制转化为HttpServletRequest
HttpServletRequest request=(HttpServletRequest)arg0;
HttpServletResponse response=(HttpServletResponse)arg1;
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
arg2.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
④设置request的编码格式
request.setCharacterEncoding("utf-8");
String ss=request.getParameter("ss");
⑤声明一个方法来处理乱码问题
具体实现过程与操作步骤如下。
创建页面declaration.jsp,在该页面中主要是声明一个方法,完成乱码的处理。
<%@ page language="java" contentType="text/html; charset=GB2312"%>
<%!String tran(String str) { String res=null; byte temp[]; try { temp=str.getBytes("Gb2312"); res=new String(temp); } catch(java.io.UnsupportedEncodingException e) { System.out.println(e.toString()); }
return res;
} %>
<%! int count =10; %>
<% String source="你好!中国"; for(int i=0;i<count;i++) out.println(tran(source)); %>
在以上代码中,在声明的tran()方法中,使用字符串的getBytes()方法将字符集重新编码成GB2312。然后使用for循环,将“你好!中国”显示出来。
urlParam= new String(urlParam.getBytes("ISO-8859-1"), "UTF-8");
②tomcat中统一编码
tomcat 的server.xml中在相对应的端口中加下面两句
useBodyEncodingForURI="true"
URIEncoding="UTF-8"
③在web.xml文件中配一个过滤器:(没有试验成功)
第一步:<filter>
<filter-name>filter</filter-name>
<filter-class>com.social.filter.CodeFilter</filter-class> 设置过滤器的类名(filter包下的CoderFilter类)
</filter>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
第二步:编写com.social.filter.CodeFilter类:
import javax.servlet.Filter;
public class CodeFilter implements Filter {
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
//把ServletRequest强制转化为HttpServletRequest
HttpServletRequest request=(HttpServletRequest)arg0;
HttpServletResponse response=(HttpServletResponse)arg1;
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
arg2.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
④设置request的编码格式
request.setCharacterEncoding("utf-8");
String ss=request.getParameter("ss");
⑤声明一个方法来处理乱码问题
具体实现过程与操作步骤如下。
创建页面declaration.jsp,在该页面中主要是声明一个方法,完成乱码的处理。
<%@ page language="java" contentType="text/html; charset=GB2312"%>
<%!String tran(String str) { String res=null; byte temp[]; try { temp=str.getBytes("Gb2312"); res=new String(temp); } catch(java.io.UnsupportedEncodingException e) { System.out.println(e.toString()); }
return res;
} %>
<%! int count =10; %>
<% String source="你好!中国"; for(int i=0;i<count;i++) out.println(tran(source)); %>
在以上代码中,在声明的tran()方法中,使用字符串的getBytes()方法将字符集重新编码成GB2312。然后使用for循环,将“你好!中国”显示出来。
相关文章推荐
- JSP页面通过URL传递中文参数出现中文乱码的解决方法
- jsp页面 URL传中文参数到Action里面出现乱码
- jsp页面 URL传中文参数到Action里面出现乱码,用过滤器和控制器都解决
- jsp通过url向Action传参出现中文乱码(测试有效)
- jsp页面 URL传中文参数到Action里面出现乱码
- (转) jsp页面 URL传中文参数到Action里面出现乱码
- JSP URL中文传递出现乱码解决
- spring mvc url 参数传递出现中文乱码解决办法
- jsp的url传递中文参数乱码解决方案,linux测试可用
- JSP中文参数传至JavaBean出现乱码
- Jsp通过地址址传递中文参数出现乱码
- Jsp中通过get方法传递参数为中文时出现乱码如何解决?
- 解决javascript通过url向Jsp页面传递中文参数乱码问题
- JSP中window.open传递中文参数出现乱码的解决方式
- 获取URL地址传递的中文参数出现乱码!
- jsp页面url参数传中文乱码问题
- JSP中URL中文乱码问题!get提交时,服务器端乱码,url带中文参数乱码 [2]
- Javascript用Url传递参数出现中文乱码的解决方法
- javascript通过url向jsp页面传递中文参数乱码解决方法
- jsp中url传参中文参数在字符集转换后仍然有部分字符为问号的情况解决。