`

关于request编码问题编码乱码

阅读更多

tomcat服务器的编码没有设置   设置成utf-8和gbk都试过  问题没有解决 

web.xml中设置了过滤器   
<filter> 
<filter-name>encodingFilter</filter-name> 
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
<init-param> 
<param-name>encoding</param-name> 
<param-value>UTF-8</param-value> 
</init-param> 
<init-param> 
<param-name>forceEncoding</param-name> 
<param-value>true</param-value> 
</init-param> 
</filter> 

用的spring的过滤器 


代码中获取request对象 
获取其他参数正常  中文参数乱码 

request.queryString();  没有任何内容 


通过 
new String(request.getParameter("参数名").getBytes("iso-8859-1"), "gb2312"); 
new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8"); 
new String(request.getParameter("参数名").getBytes("iso-8859-1"), "gbk"); 
new String(request.getParameter("参数名").getBytes("utf-8"), "gbk"); 
new String(request.getParameter("参数名").getBytes("utf-8"),"gb2312"); 
request.setCharacterEncoding("gbk"); 

类的编码为utf-8 

都不成功 其他该用的方法都试过 就是不可以 

不过奇怪的是  如果我把这段代码直接写在jsp页面中可以正常显示 
jsp页面的编码为gb2312     request.setCharacterEncoding("gbk");   后可以正常获取参数 

<%@ page language="java" pageEncoding="gb2312"%> 

<% 
request.setCharacterEncoding("GBK"); 
String errMsg = request.getParameter("ErrMsg"); 
%> 

这样获取参数完全正常 

实在不知道原因在哪 


另外还做了一个测试   tomcat的编码不设置  应该就是默认的iso-8859-1 

项目设置spring的中文过滤器 

action中直接写  
new String(request.getParameter("参数名").getBytes("iso-8859-1"), "gbk"); 

就可以获取正确的中文 

 

转载请注明:http://www.xujin.org 或 http://www.virgocloud.com

分享到:
评论

相关推荐

    RestSharp 组件 修改接口返回中文乱码的问题

    RestSharp 在请求接口的时候,返回中文的话,一些特殊编码,比如gbk,从Response中解析出来的值会乱码,修改了一点点源代码,留一下记录以免忘记 该版本是github上,最新一个版本。下载时间是 20170821

    JSP利用过滤器解决request中文乱码问题

    主要介绍了JSP利用过滤器解决request中文乱码问题,感兴趣的小伙伴们可以参考一下

    Python request中文乱码问题解决方案

    Python request获取网页中文乱码问题 r = requests.get(“http://www.baidu.com“) **r.text返回的是Unicode型的数据。 使用r.content返回的是bytes型的数据。 也就是说,如果你想取文本,可以通过r.text。 ...

    RestSharp 组件 修改接口返回中文乱码、指定属性的参数别名问题

    第二个问题是,有时候,对方接口参数比较奇怪,而我们的request类的属性又不能用那种名字,就需要指定别名。比如当当的开放平台 出版物类 的添加,某个参数的名字是 item_descs.editor_recomm ,显然,我们在写类的...

    asp.net中文乱码:asp.net(C#)中文乱码问题

    asp.net默认的编码是UTF-8 js文件里的编码也是UTF-8 当你要在aspx页面上进行传中文参数时会出现乱码 asp.net中文乱码:asp.net(C#)中文乱码问题 &lt;-----request.aspx--接收参数页-----&gt; 传送参数页-----&gt;

    中文编码问题.zip

    解决中文乱码问题的几个实例,其中有jsp页面,request和response的,几种编码解决小案例;

    乱码问题解决方案

    一、有关中文乱码: mysql部分: url配置:jdbc:mysql://localhost:3306/XXX?useUnicode=true&characterEncoding=utf8 jdbc:mysql://localhost:3306/XXX?useUnicode=true&amp;characterEncoding=utf8 创建...

    JSP读取ORACLE数据乱码问题

    在从oracle数据库中读取数据时出现乱码,但是通过pl/sql developer查询正常。...使用过滤器进行编码转换,request.setCharacterEncoding(gb2312),能够使传参时编码转换成中文,但是从数据库中读来的中文却显示为乱码。

    输出word文件中文乱码问题解决打包下载

    // 如果客户端使用 Microsoft Internet Explorer,则需要编码 fileName = ToHexString(fileName); // 如果使用 fileName =Server.UrlEncode(fileName); 则会出现上文中出现的情况 } Response.AddHeader("Content...

    android和服务器的URLEncodedUtils乱码编码问题的解决方案

    在android开发中我们常常遇到与到乱码问题,遇到乱码问题首先我们要先检查两端编码格式是否一致! 一般我们提交数据用get 和post方法,这两种方法在上传中有con.setRequestProperty(Charset, UTF-8); 和...

    jsp页面提交乱码问题

    jsp页面跳转到后台乱码 还需要在html中指定编码格式。 ; charset=gb2312" /&gt; &lt;title&gt;title 解决方法是要在jsp最前面加上一条java语句,设置请求的字符编码。 request.setCharacterEncoding("gb2312"); %&gt;

    ApacheJMeter_http.jar解决jmeter5.4.3版本上传附件中文名乱码问题

    使用jmeter5.4.3版本,通过修改PostWriter.java,两句代码,因为用了iso编码,修改成utf-8。ApacheJMeter_http.jar下载后,放到apache-jmeter-5.4.3\lib\ext路径下,替换原来的jar包,然后重启jmeter,PS:注意在http...

    详解nodejs爬虫程序解决gbk等中文编码问题

    遇到最大的问题就是网页的编码与nodejs默认编码不一致造成的乱码问题。nodejs支持utf8, ucs2, ascii, binary, base64, hex等编码方式,但是对于汉语言来说编码主要分为三种,utf-8,gb2312,gbk。这里面gbk是完全兼容...

    彻底解决fckeditor(jsp版)上传中文图片乱码问题

    彻底解决fckeditor(jsp版)上传中文图片乱码问题,我这里用的编码是utf-8的,这里用的fckeditor 是2.6的,fckeditor.java包是2.3的,经过我修改ConnectorServlet.java和SimpleUploaderServlet.java两个文件,重新生成...

    Request.UrlReferrer中文乱码解决方法

    参考了网络大部分的解决方案,没一个能搞定的,如果穷途末路,试试下面的方法: 将获得的前一页面的URL分成两段,后面的参数部分进行编码(直接对URL编码是不行的),然后再组合一下就可以了。 代码如下: if(!Page....

    web程序开发中的URL乱码解决方案

    在服务器端/后台/后台程序中设置请求流和响应流的编码方式和页面上的编码方式一致:request().setCharacterEncoding("utf-8");response().setCharacterEncoding("ut f-8");response().setContentType("text/html;...

    Ajax乱码小结

    Ajax乱码:当调用request.getParameter()函数时,会自动进行一次URI的解码过程,调用时内置的解码过程会导致乱码出现。而URI 编码两次后,request.getParameter()函数得到的是原信息URI编码一次的内容。再用可控的...

    解决flask接口返回的内容中文乱码的问题

    from flask import json, jsonify, request, render_template app = flask.Flask(__name__) @app.route("/api", methods=["GET", "POST"]) def api(): if request.method == 'GET': return jsonify({"login status...

    UTF-8使用纯真IP数据库乱码问题

    近手头在写一个根据IP地址返回省份地区的代码,发现在使用纯真ip数据库的时候出现乱码,后发现纯真数据库是居于GBK编码的,而我的整个工程编码都是采用的UTF-8编码,两个走到一起肯定会出现乱码,所以只能改写纯真...

    解决python3中的requests解析中文页面出现乱码问题

    (3) 但是如果你访问另一个属性text时,会返回一个unicode对象,乱码问题就会常常发成在这里。 (4) 因为Response对象会通过另一个属性encoding来将字节码编码成unicode,而这个encoding属性居然是responses自己猜出来...

Global site tag (gtag.js) - Google Analytics