解决request中文乱码的问题
来源:互联网 发布:seo区综合查询 编辑:程序博客网 时间:2024/05/21 19:38
解决request中文乱码的问题
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 str =request.getParameter("URL后面的变量名");
byte b[] =str.getBytes("ISO-8859-1");
str = newString(b);
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 str =request.getParameter("URL后面的变量名");
byte b[] =str.getBytes("ISO-8859-1");
str = newString(b);
- 解决request.getParameter()中文乱码的问题
- 解决request中文乱码的问题
- 解决request中文乱码的问题
- 解决request中文乱码的问题
- 解决request中文乱码的问题
- 解决request中文乱码的问题
- 解决request中文乱码的问题
- Java Web乱码 解决request中文乱码的问题
- 使用Server.UrlEncode解决传递request中文乱码的问题
- 解决request内置对象的中文乱码问题。
- java web解决request中文乱码问题
- 解决request.getparameter中文乱码问题。
- 解决request中文乱码
- 解决request中文乱码
- json传递中文乱码解决方法以及解决request.getParameter()获取参数为乱码的问题
- request中文乱码问题
- request中文乱码问题
- Request.QueryString的中文乱码问题
- gridview导出excel2
- C语言小函数
- http协议简洁
- 使用GDI绘制简单曲线
- USB的八个问题和答案
- 解决request中文乱码的问题
- 私有云vs公有云vs混合云
- OSG的优点
- Delphi从应用程序资源中直接执行dll(不用先把dll存到磁盘上)
- TagSupport类的生命周期
- 继续聊WPF——设置网格控件列标题的样式
- xstream转换Map和List
- JSP开发模式
- 《Windows高级调试》分析(二)