jsp 页面传值 到后台 中文乱码解决方法
来源:互联网 发布:红珠实验软件 编辑:程序博客网 时间:2024/04/28 22:42
例jsp中传入的参数名字:shortname
情况(1):和方法2针对的情况一样 如果是第3种情况的话就不适用了
java后台代码这样处理 String str = new String(shortname.getBytes("iso-8859-1"),"UTF-8") ; 不需要对jsp页面的参数编码
情况(2)针对使用Ajax get请求时参数不附加在url后:如 $.ajax{type:get,data:shortname:shortname...... }
jsp页面参数这样处理 encodeURIComponent(shortname)
java后台代码这样处理 String str = URLDecoder.decode(shortname, "utf-8");
情况(3)get 提交针对于参数附加在url后面:如:url:/ajax/a.action?shortname=shortname
jsp页面参数这样处理 encodeURI((encodeURI(shortname))) 这样也可以encodeURI(shortname) 。。。。。
java后台代码这样处理 String str = URLDecoder.decode(shortname, "utf-8");
针对第2和第3种情况 如果前台还需要这个参数shortname 一直在前后台传来传去的话,要注意下 后台传到前台时也要对这个参数shortname进行编码:
URLEncoder.encode(URLEncoder.encode(shortname, "utf-8"), "utf-8") 还有就是情况2,3避免乱码,可以改用post请求!
不过感觉最简单的方法还是用过滤器了:过滤器类如下
package zz;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;/** * Filter that sets the character encoding to be used in parsing the * incoming request */public class SetCharacterEncodingFilter implements Filter {protected String encoding = null; protected FilterConfig filterConfig = null; public void destroy() {} public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; this.encoding = filterConfig.getInitParameter("encoding"); } /** * Select and set(if specified) the character encoding to be used to * interpret request parameters for this request */ public void doFilter(ServletRequest request,ServletResponse response, FilterChain chain) throws IOException,ServletException { request.setCharacterEncoding(encoding); response.setCharacterEncoding(encoding); chain.doFilter(request,response); }}web.xml中的配置加上下面几句话就行了:
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>com.bigdata.financial.filter.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- jsp 页面传值 到后台 中文乱码解决方法
- jsp 页面传值 到后台 中文乱码解决方法
- 关于jsp页面上中文数据传递到后台成乱码的解决方法
- js向jsp页面/后台传值中文乱码
- jsp数据传递到后台为中文乱码的解决方法
- 对JSP页面传值中文乱码的简单解决方法
- 对JSP页面传值中文乱码的简单解决方法
- 对JSP页面传值中文乱码的简单解决方法
- 对JSP页面传值中文乱码的简单解决方法
- 对JSP页面传值中文乱码的简单解决方法
- jsp页面中带有iframe页面进行后台传值出现中文乱码
- jsp页面转后台,出现中文乱码
- jsp页面转后台,出现中文乱码
- jsp 页面中文 传到后台 乱码问题解决
- jsp到java后台中文乱码问题
- 【中文乱码】jsp页面传值到后台中文乱码情况.
- jsp页面中文乱码的解决方法
- JSP页面中文乱码的解决方法
- inputStream 、outputStream、String相互转化
- 在公司问上级问题的艺术
- 冯绍峰等提供
- 基线(Baseline)的含义以及在Android中的使用
- struts2 基础的环境搭建
- jsp 页面传值 到后台 中文乱码解决方法
- 事务基本特性和两阶段提交协议
- <c:forEach> ·index:当前这次迭代从0开始的迭代索引。 ·count:当前这次迭代从1开始的迭代计数。 ·first:用来表明当前这轮迭代是否为第一次迭代,该属性为boolean类型。
- 贪心详解
- android解析xml文件
- 浅谈SQL SERVER中的事务日志(四)---在完整恢复模式下日志的角色
- vs c库连接 Mysql后, 关闭M时,提示 Run-Time Check Failure #2 - Stack around the variable 'mysql' was corrupted.
- PHPCMS出错Call to undefined function sitename()
- linux 安装 Jdk 1.6.45