tomcat设置为UTF-8,解析GBK编码的UTL请求,中文乱码处理

原创 2015年11月19日 10:39:50
tomcat为utf8编码,解析gbk编码的URL请求,中文乱码处理
项目中tomcat设置为utf8解码,当对外的url接口(如ReceiveAction)接收到gbk编码请求时候会自动被tomcat解码为utf8,
此时中文直接request.getParameter("content")出来就是乱码,无法直接转换回gbk,怎么转换都是乱码。 

解决方法:通过requset.getQueryString() 来获取到 %D6%D0%B9%FA 再urldecode 下就得到了 正确的中文了

例:
URL:http://127.0.0.1:8080/ValueAddPlane/clc/notify?orderstate=2&portorderid=2015101510449194&tickets=%c6%eb%c4%cb%ca%a2%2c7848501352120
参数中tickets为“齐乃盛,2c7848501352120


controller中处理
    String reqStr = request.getQueryString();    //得到的字符串是 “orderstate=2&portorderid=2015101510449194&tickets=齐乃盛,2c7848501352120“
    String decodeReqStr = URLDecoder.decode(reqStr, "GBK");
    String[] reqArry = decodeReqStr.split("&");
    Map<String, String> reqMap = new HashMap<String, String>();
    for (String reqItem : reqArry) {
        String[] reqItemArray = reqItem.split("=");
        reqMap.put(reqItemArray[0], reqItemArray[1]);
   }

相关文章推荐

tomcat服务器配置字符集为utf-8-彻底解决中文乱码问题

我们在程序编写的过程中总是会遇到一些中文编码的问题,需要在程序中很多环节中去进行过滤和转义,依旧有可能遇到中文乱码的问题,下面是我的一个同事告诉我的方法,百时不灵,当然是针对于tomcat服务器来说的...
  • bestcxx
  • bestcxx
  • 2016年04月28日 09:06
  • 37861

Tomcat设置URIEncoding默认编码为UTF-8时正确解析GBK参数

做项目的时候,对方所有接口都是以GET方式发送GBK进行URLEncode之后的参数,例如: http://127.0.0.1/zmall/addSupProduct.do?name=%ca%a2%b...
  • Mchange
  • Mchange
  • 2014年02月17日 15:19
  • 2345

CentOS cannot change locale UTF-8解决方法及设置中文支持

在Terminal SSH登录阿里云CentOS服务器后,提示:Cannot change locale UTF-8,并且后面的提示是乱码。将/etc/sysconfig/i18n文件改为文中配置。...

过滤器解决get和post方式提交的中文乱码

对于国内的程序员来说,在做项目时避免不了的问题是中文乱码问题。        如果不使用过滤器的话,在每个servlet中都要进行设置编码,如果是post请求还好,但是如果是get请求,就要手动进行...
  • hyn150
  • hyn150
  • 2017年04月19日 21:23
  • 1103

springmvc 接收参数中文乱码的问题

springmvc 接收参数中文乱码的问题
  • Bo_wen_
  • Bo_wen_
  • 2015年12月08日 14:04
  • 4711

request.getParameterMap() 转换为 Map<String, Object>

private static   Map parseQueryString(String queryString) { Map map=  new HashMap();     String...

Tomcat7下项目切换到Tomcat8后,出现乱码

1. 问题描述 Tomcat7下项目切换到Tomcat8后,出现乱码。 无论Google还是百度,多数解决方法是server.xml设置URIEncoding=“UTF-8”。 对于Tomcat7下...

tomcat字符集与中文乱码的解决

使用 tomcat 时,相信大家都回遇到中文乱码的问题,具体表现为 1)通过表单取得的中文数据为乱码 2)页面提交中文数据,服务器端接收为乱码   一、初级解决方法  通过一番检索后,许多人...

Tomcat中文乱码问题的原理和解决方法(全面、详细)

自从接触Java和JSP以来,就不断与Java的中文乱码问题打交道,现在终于得到了彻底的解决,现将我们的解决心得与大家共享。  一、Java中文问题的由来  Java的内核和class文件...

GBK,UTF-8,和ISO8859-1编码区别与get,post请求中文乱码处理

1.编码基础知识   1.1. iso8859-1 通常叫做Latin-1 2.2. GB2312/GBK  1.3 unicode  1.4 UTF  2.Unicode、UTF-8 和 ISO88...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tomcat设置为UTF-8,解析GBK编码的UTL请求,中文乱码处理
举报原因:
原因补充:

(最多只允许输入30个字)