首页 > 其他 > 详细

不同浏览器在地址栏中直接输入中文参数的结果

时间:2020-09-25 15:23:45      阅读:55      评论:0      收藏:0      [点我收藏+]

IE8:(至少在WinXP SP3上)会对直接输入的url进行GBK编码
Chrome:UTF-8编码
Firefox:UTF-8编码


需求:在服务器后台打印出每个URL参数及其值,并回送到浏览器。


代码:

需要注意IE8(真NMD风骚 -_-#)

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  response.setContentType("text/html;charset=utf-8");
  PrintWriter out = response.getWriter(); 

  String query =request.getQueryString();
  if(query == null || query.isEmpty()){
    return;
  }

  if(!isIE8(request.getHeader("User-Agent"))){
    query = URLDecoder.decode(query, "utf-8");
  }else{
    //IE8的编码真尼玛的一个骚货!!!FUCK OFF
    query = new String(query.getBytes("iso-8859-1"), "gbk");
    query = URLDecoder.decode(query, "gbk"); 
    System.out.println(query);
  }

  String params[] = query.split("&"); 
  for(String s : params){
    System.out.println(s);
    out.println(s+"<br/>");
  }
}
?
?
private boolean isIE8(String userAgent){
  if(userAgent==null || userAgent.isEmpty()){
    return false;
  }

  if(userAgent.contains("Trident/4.0")){
    return true;
  }

  return false;
}

 


 

不同浏览器在地址栏中直接输入中文参数的结果

原文:https://www.cnblogs.com/itfky/p/13728962.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!