不同浏览器在地址栏中直接输入中文参数的结果
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; }
分类:
JavaWeb
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了