GET乱码和URL路径乱码是什么意思?GET乱码和URL路径乱码的设置方法
简述
(资料图片)
乱码是JAVA开发时经常遇到的问题。主要出现在四种情况:
1.系统接口之间
2.POST提交数据
3.GET提交数据和URL路径
4.页面乱码
系统接口之间乱码
需要双方定义编码方式。例如:GBK(以下都以GBK为例)。
发送的时候将String按GBK转换为了字节码
out.write(loginStr.get(0).getBytes("GBK"));//out为输出流
接收的时候将字节码按GBK编码转换成String
new String(by, 0, a, "GBK");//by为字节码,a为字节码长度
POST 乱码
一般由Filter设置字符集,开发人员无需关注。
request.setCharacterEncoding("GBK");
特殊情况下,各个Servlet也可以按照上面代码设置。
但要注意,必须在取第一个参数之前就要设置。
另外
(1)上面这个代码只能设置post提交的requestbody的编码而不是设置get方法提交的queryString的编码。该方法告诉应用服务器应该采用什么编码解析post传过来的内容。
(2)HttpServletRequest.getPathInfo()返回的结果是由Servlet服务器解码(decode)过的。
(3)HttpServletRequest.getRequestURI()返回的字符串没有被Servlet服务器decoded过。
(4)POST提交的数据是作为request body的一部分。
(5)网页的Http头中ContentType("text/html;charset=GBK")的作用:
(a)告诉浏览器网页中数据是什么编码;
(b)表单提交时,通常浏览器会根据ContentType指定的charset对表单中的数据编码,然后发送给服务器的。
(c)这里所说的ContentType是指http头的ContentType,而不是在网页中meta中的ContentType。
GET乱码和URL路径乱码
URL路径乱码是指用中文路径,如…/中文路径/test.jsp
GET乱码需要在中间件的配置文件里设置.
(1) tomcat服务器
对于tomcat服务器,该文件是server.xml
<CONNECTORPORT="8080" protocol="HTTP/1.1" <="" p="">
maxThreads="150"connectionTimeout="20000"
redirectPort="8443"URIEncoding="GBK"/>
URIEncoding告诉服务器servlet解码URL时采用的编码。
useBodyEncodingForURI告诉服务器解码URL时候需要采用request body指定的编码。
(2) weblogic服务器
对于weblogic服务器,该文件是weblogic.xml
GBK
另外:
不同的浏览器对于GET方式提交的中文和路径中文都会按照URLEncode自动编码。
(1)对于中文IE,如果在高级选项中选中总以UTF-8发送(默认方式),则PathInfo是URLEncode是按照UTF-8编码,QueryString是按照GBK编码。
http://localhost:8080/example/ 中国?name=中国
实际上提交是:
GET /example/$E4$B8$AD$E5$9B$BD?name=$D6$D0$B9$FA($改为%)
(2)对于中文IE,如果在高级选项中取消总以UTF-8发送,则PathInfo和QueryString是URLencode按照GBK编码。
实际上提交是:
GET/example/$D6$D0$B9$FA?name=$D6$D0$B9$FA($改为%)
(3)对于中文firefox,则pathInfo和queryString都是URLencode按照GBK编码。实际上提交是:
GET/example/$D6$D0$B9$FA?name=$D6$D0$B9$FA($改为%)
很显然,不同的浏览器以及同一浏览器的不同设置,会影响最终URL中PathInfo的编码。对于中文的IE和FIREFOX都是采用GBK编码QueryString。
因此一般情况下,我们尽量使用英文路径,而不是中文路径。提交方式尽量使用POST,如果必须要使用GET方式,请主动将PathInfo和QueryString按配置文件中的编码URLEncode。即:直接按统码转换成$D6$D0$B9$FA此种类型的数据。
页面乱码
浏览器根据http头中的ContentType("text/html;charset=GBK"),指定的字符集来解码服务器发送过来的字节流。
1.Servlet中调用HttpServletResponse.setContentType()设置http头的ContentType。
2.Jsp:
标签: 服务器
相关推荐:
最新新闻:
- 无线路由器视频监控方案 5.5g工业路由器特点及优势
- GET乱码和URL路径乱码是什么意思?GET乱码和URL路径乱码的设置方法
- ChatGPT生成代码大部分不安全 但它不会主动告诉你 全球今日讯
- 多平台下架"红牛维生素功能饮料"!华彬被判赔3千万
- “赛博清明”模拟游戏《电子祭祖》上线Steam
- 日本专家评估集换卡牌市场规模高达1700亿 涉嫌偷税漏税 全球热资讯
- 环球速讯:期待!福建舰将搭载多种新型舰载机
- 电脑未能正确启动怎么办?windows7系统开机时间怎么看?
- nvidia控制面板怎么设置最高性能?显卡设置在哪里打开如何设置?
- cue是什么文件?CUE文件怎么打开和修复?
- 金山游侠作用是什么?金山游侠修改器怎么安装?
- windows怎么关闭默认共享?win7系统关闭共享文件夹的方法
- Word临时文件在哪里?如何恢复word临时文件?
- 金士顿u盘质量怎么样?如何挑选优质U盘品牌?
- win7如何消除快捷方式箭头?win7快捷方式去箭头技巧
- 新资讯:杭州人教阿克苏姑娘直播卖自家苹果 往年八九万元的销售额今年卖到了24万
- win10更新太慢了能终止吗?电脑更新中途如何取消?
- 一体机电脑好不好?如何给一体机电脑散热?散热技巧
- 小米13 Ultra补货了! 5999今天继续开售
- 电脑没有网卡驱动怎么办?windows10家庭版和专业版区别
- 威刚u盘质量好不好?金士顿和威刚的内存条比较来说各有什么优缺点?
- 曝苹果将在2027年全面改用OLED显示屏 微头条
- 没有光驱如何重装系统?怎么检测笔记本电脑有没有光驱?
- U盘文件损坏怎么修复?怎样检测u盘是不是坏了?
- 针孔打印机怎么换色带?针式打印机色带条怎么换?
- 如何开放路由器的端口映射功能?开启路由器端口映射教程
- 笔记本电池结构是什么样子的?笔记本电池工作原理
- 音箱一个响一个不响怎么回事?解决音箱低音嗡嗡嗡声的方法
- cr2是什么文件?cr2格式和raw格式一样吗?
- 佳能sx120相机怎么样?佳能g系列相机哪个好?
- 相机提示存储卡被锁定怎么办?相机存储卡故障排除方法
- 卷起来了!联想小新air14 2023 1TB版本仅需3988元
- 头条:小米13 Ultra被曝可变光圈晃动 小米:正常
- 1599元,vivo Y78+开售,120Hz曲面屏+5000mAh大电池-每日热点
- 三星n3屏幕失灵怎么处理?三星触屏失灵的处理方法
- 黑莓9000质量怎么样?黑莓手机有什么优势?
- 苹果13.4系统怎么样?系统版本对应表
- 三星W799能使用微信吗?为什么三星手机微信登录不了?
- 怎么用手机号找订单物流?输入手机号怎么找到订单物流?
- 苹果6玩王者荣耀闪退怎么回事?苹果6玩王者闪退如何修复?
- 怎么把手机里的通话记录删除?iphone通话记录删除方法步骤
- 诺基亚5800这个手机怎么样?诺基亚5800报价及相关测评介绍
- 苹果十二屏幕尺寸是多大?苹果12和11promax哪个更值得买?
- 魅族m3音质什么级别?魅族魅蓝3参数详细参数
- 联想电脑怎么设置光驱启动?怎样从光盘启动电脑?光盘启动设置步骤
- 迅游加速器无法登录怎么办?迅游网络不稳定解决方法
- 如何查看自己电脑的功率?电脑常见问题与故障大全
- 比特精灵怎么用?比特精灵种子下载速度很慢的解决方法介绍
- nef格式用什么打开?nef文件怎么转换成jpg?
- 网站还原错误怎么办? 网页上有错误怎么解决原因及解决方法
- 红轴机械键盘79元到手!
- 环球实时:小米13 Ultra可变光圈能晃动?小米王化回应绝了
- 多项史诗级功能!iOS 17推出时间确定 快看点
- P44 Pro 2T固态硬盘降到1099元,海力士主控,TLC闪存|全球通讯
- 速抢!小米13 Ultra即将补货:每日快看
- 翠微股份在京投资设立新公司,经营范围含物联网技术服务
- 《孝庄秘史》被指抄袭 原作者朴月多年蒙冤受辱
- 《生化4RE》把艾什莉替换成里昂:里昂变成娘娘腔_天天报道
- 鹰角携手Bungie 《明日方舟》宣布联动《命运2》
- SE《波多比亚连续杀人事件》AI重组版免费登陆steam|资讯
- DRPG《Core Crossing》登陆steam 全妹子冒险队伍:要闻速递
- 北互法院发布数字教育著作权案审理情况 环球报道
- 小米13 Ultra屏幕维修价格高达1400元 千万别摔了
- 上海车展已禁止车企送冰淇淋:官方证实|今头条
- iPhone闹钟五一调休没响 安卓就没这个困扰
- 每日看点!今日我刚买了一部MOTOROLAV8手机。有什么好的软件可以用又不影响手机速度?
- 北影节现场上热搜 张颂文与高叶再现《狂飙》拥抱-全球动态
- 《滑板4》未来将在PS5和Xbox Series X|S上测试 最资讯
- 微资讯!贾岛推敲的故事给你的启示是_贾岛推敲的故事
- 每日快报!网红“竹筒奶茶”被爆有霉斑 探访:卫生状况确实堪忧
- 速读:科创板首批退市公司出炉 中信建投拟出资 10 亿先行赔付投资者损失
- 特斯拉业绩不佳星舰爆炸 马斯克财富蒸发126亿美元-全球快资讯
- 冒险新作《老人与他的猫》Steam页面公开
- 受精卵是生命的开始_受精卵或非生命起始
- 宝马MINI两涉事女员工离职:求原谅|环球视讯