中文路径传参问题
来源:互联网 发布:电脑学影视制作软件 编辑:程序博客网 时间:2024/06/05 07:53
一开始遇到中文参数的时候,使用encodeURI()进行了一遍编码,传过去后,发现解码出现问题,于是想到可能是编码方法使用错误,于是使用escape()方法,这时发现解码时抛出isHexDigit异常。借助百度搜索isHexDigit异常,发现原来,是escape()方法造成了异常,同时了解了浏览器传递地址的一些原理,在浏览器地址栏里,浏览器认为%是个转义字符,浏览器会把%与%之间的编码,两位两位取出后进行解码,然后再传递给处理页面,然后由处理页面进行再次解码。由此我想到一直使用encodeURI方法是正确的,只是需要使用两次encodeURI方法,例如encodeURI(encodeURI("中文"));第一次是把中文编码成%xy的格式,第二次是对%xy中的%进行编码,%编码成%25。整个传参过程大体应该是:提交页面使用encodeURI(encodeURI("中文"))编码,把最后的编码结果%25xy传递给处理页面的过程中,浏览器获取URL地址(注意openModelDialog方法,浏览器获取不到参数编码)后解码成%xy,然后把%xy传递给处理页面,处理页面(或者后台)使用URLDecoder.decode(request.getParameter("参数名"),"UTF-8");完成解码
0 0
- 中文路径传参问题
- 中文路径问题,中文url
- Sqlite中文路径问题
- DOM4J中文路径问题
- DOM4J中文路径问题
- sqlite中文路径问题
- Flask 中文路径问题
- 中文路径问题
- QUrl中文路径问题
- BasicExcel 中文路径问题
- php中文路径问题
- SQLlite中文路径问题
- JSONcpp 中文路径问题
- 文件路径的中文问题
- mplayer 中文路径支持问题
- SVNManager中文路径权限问题
- fstream和 中文路径问题
- VC中文件路径问题
- Centos6.5安装、升级openssl
- 注意附件上传的问题
- openstack安装部署过程中遇到的问题
- 前端框架layer ios不支持弹出页面滚动条
- EventBus学习
- 中文路径传参问题
- c++第二次试验-输出本月有多少天(作业)
- Retrofit用法
- #学志#项目进度02
- L1-018. 大笨钟
- PX4位置控制offboard模式说明
- Unity3D 大型游戏 最后一站 源码 部分重点匹配战斗(四)(13)
- Android databinding RecycleView item 子控件点击事件
- tinker热修复gradle接入