请教下这个get/post请求中文乱码的问题

我叫小菜菜 2015-12-09 06:26:51
请求前没有经过编码的,难道中文不经编码直接传,就再也还原不了了吗?请问下有办法还原吗,谢谢各位阅读~


public String getPara(String paramString)
{
String str = StringEscapeUtils.escapeSql(this.request.getParameter(paramString));
return str;
}

@RequestMapping(value="/test1",method = RequestMethod.GET)
public void test1(HttpServletRequest request,HttpServletResponse response){
String id=this.getPara("ID");
JSONObject json =new JSONObject();
json.put("request_getCharacterEncoding", request.getCharacterEncoding());
json.put("code", "200");
json.put("error", "");
json.put("ID_request_getParameter", request.getParameter("ID"));
this.renderJson(response, json.toString());
}





下面是请求过程的记录:
Connecting to 127.0.0.1
Connected to 127.0.0.1
GET http://localhost:8080/xxxService/test1?ID=2015年12月
> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
> User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)
> Host: localhost
Request sent. 266 bytes
Data available. 107/107 bytes
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
< Pragma: No-cache
< Cache-Control: no-cache
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< Content-Type: application/json;charset=UTF-8
< Content-Length: 107
< Date: Wed, 09 Dec 2015 10:17:07 GMT
<
200 Request complete

...全文
219 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
< Content-Type: application/json;charset=UTF-8 < Content-Length: 107 < Date: Wed, 09 Dec 2015 10:17:07 GMT 这个说明你的浏览器端是utf-8的,估计是你项目配置的问题,你在web.xml里面加入:
<!--spring编码过滤器start -->
    <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>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!--spring编码过滤器end -->
心随自在飞 2015-12-10
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
我叫小菜菜 2015-12-09
  • 打赏
  • 举报
回复
引用 2 楼 Raffin 的回复:
你前台传过来是什么编码的? 最好是正确编码的,这样request和response写setEncoding就行了。 如果传过来就是错误编码的,理论上服务器端拿到需要转一下。
哎,蛋疼,项目上有一个接口,是其他系统过来的,塞过来的数据都是乱码,踏码又不让联调,都摆这一个多月了。。。
我叫小菜菜 2015-12-09
  • 打赏
  • 举报
回复
引用 1 楼 shijing266 的回复:
你想还原也的知道之前是什么编码转的
我也不造是什么编码啊,没有处理过,我就是图2那样,直接输入中文访问呢,即我访问时不做处理,服务器会自动编码吗,使用iso-8859-1编码? 试过在后台request.getCharacterEncoding(),结果是UTF-8编码,但是把参数从iso-8859-1解码为utf-8,还是乱码。。
开拓者Amadues 2015-12-09
  • 打赏
  • 举报
回复
你前台传过来是什么编码的? 最好是正确编码的,这样request和response写setEncoding就行了。 如果传过来就是错误编码的,理论上服务器端拿到需要转一下。
  • 打赏
  • 举报
回复
你想还原也的知道之前是什么编码转的

67,541

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧