post/get解决中文乱码
来源:互联网 发布:jsp导入java类 编辑:程序博客网 时间:2024/05/17 22:36
request.setCharacterEncoding(charset);必须写在第一次使用request.getParameter()之前,这样才能保证参数是按照已经设置的字符编码来获取。
response.setCharacterEncoding(charset);必须写在PrintWriter out = request.getWriter()之前,这样才能保证out按照已经设置的字符编码来进行字符输出。
通过过滤器,我们可以保证在Servlet或JSP执行之前就设置好了请求和响应的字符编码。
但是这样并不能完全解决中文乱码问题:
对于post请求,无论是“获取参数环节”还是“输出环节"都是没问题的;
对于get请求,"输出环节"没有问题,但是"获取参数环节"依然出现中文乱码,所以在输出时直接将乱码输出了。
原因是post请求和get请求存放参数位置是不同的:
post方式参数存放在请求数据包的消息体中。get方式参数存放在请求数据包的请求行的URI字段中,以?开始以param=value¶me2=value2的形式附加在URI字段之后。而request.setCharacterEncoding(charset);只对消息体中的数据起作用,对于URI字段中的参数不起作用。
当使用request.setCharacterEncoding(charset);时,只能解决表单方法为POST的中文乱码情况,而方法为GET的依然为乱码。
解决GET乱码:
String old=request.getParameter("name");//假设name字段为中文
String name=newString(old.getBytes("ISO8859-1"),"UTF-8");
此方法绝对经典!!!!
原贴链接:http://blog.sina.com.cn/s/blog_56f92b2501014jl7.html
- post/get解决中文乱码
- GET&POST方式解决中文乱码问题
- get post 中文请求乱码解决方式
- 解决post、get提交中文乱码问题
- springMVC解决post、get中文乱码
- get,post中文乱码
- get中文乱码/post
- GET POST乱码解决
- Post与Get提交使用过滤器解决中文乱码问题
- spring mvc 中文乱码 post与get的方法解决
- 解决Servlet中get或post中文乱码问题
- Get与Post提交与中文乱码解决
- 解决servlet在post/get传递中文乱码的问题
- struts2解决get和post方式中文乱码
- 解决Get和Post请求中中文乱码问题
- httpclient get和post,中文乱码已解决
- 解决Get和post请求中中文乱码问题
- servlet中post与get请求中文乱码解决
- HttpClient -- Request execution
- 发散聚合IO(scatter-gather I/O)技术
- C++之类的静态成员变量和静态成员函数
- 程序代码的优化细节
- Android:控件WebView显示网页
- post/get解决中文乱码
- 一个类怎样调用另一个类中的属性和方法
- \r,\n的作用
- Unable to execute dex: Multiple dex files define 解决方法
- ios 访问版本信息 { "resultCount":0, "results": [] }
- IOS自定义系统导航栏:导航栏背景色、状态栏样式以及是否隐藏、拦截系统导航栏的返回点击事件
- IFS8.2、安全检查点介绍、开发与配置
- oracle_DDL
- id取模分表分表