js encodeurl java接收_在JS中encodeURI(url)怎样才能不出现乱码?
这次给大家带来在JS中encodeURI(url)怎样才能不出现乱码?,在JS中使用encodeURI(url)的注意事项有哪些,下面就是实战案例,一起来看一下。
一般情况下, 发送 encodeURIComponent(parmeName)+"="+encodeURIComponent(parmeValue);
接收时, 直接 String paramValue = request.getParameter(paramName); // 容器自动解码.
我们知道 encodeURIComponent 使用的是 UTF-8 编码规则来编的.
如果 request.getParameter(paramName) 时,容器也按 UTF-8 解的话,是正确的. 根本无须在客户端
进行二次的 encodeURIComponent(...)
如果 request.getParameter(paramName),容器没有按 UTF-8 解的话, 结果只有一个,就是乱码!
容器按什么编码来解码,决定于 request.setCharacterEncoding(***) 或者 服务器程序配置.
如果你在 jsp 程序中,能够 request.setCharacterEncoding("UTF-8"), 并且 修改服务器配置,让容器在解 GET 提交的参数时,使用 UTF-8.
客户端提交前不用二次编码, 接收时,也只要直接 request.getParameter(paramName) 即可
为什么网上会有人提出在客户端对字符串重复编码两次呢.
如果因为项目需要,不能指定容器使用何种编码规则来解码提交的参数, 比如:需要接收来自不同页面,不地编码的参数内容时。 (又或者是开发人员被这有点复杂的东东搞得晕头转向,不懂得如何正确的去做好这接收参数的工作)
这个时候,在客户端对参数进行二次编码,可以有效的避开“提交多字节字符”的这个棘手问题。
因为第一次编码,你的参数内容便不带有多字节字符了,成了纯粹的 Ascii 字符串。(这里把编第一次的结果叫成 [STR_ENC1] 好了。[STR_ENC1] 是不带有多字节字符的)
再编一次后,提交,接收时容器自动解一次 (容器自动解的这一次,不管是按 GBK 还是 UTF-8 还是 ISO-8859-1 都好,都能够正确的得到 [STR_ENC1])
然后,再在程序中实现一次 decodeURIComponent (Java中通常使用 java.net.URLDecoder(***, "UTF-8")) 就可以得到想提交的参数的原值。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
相关阅读:
js encodeurl java接收_在JS中encodeURI(url)怎样才能不出现乱码?相关推荐
- js编码java解码_常用的js、java编码解码方法
前言 前后端直接传输数据进行交互不就行了吗,为什么还要进行编码解码?正常情况下直接交互没问题,但当有类似以下情况出现时就需要进行编码再进行传输: 1.编码格式难以统一,导致数据交互过程出现中文乱码等问 ...
- js 引用 java常量_java调用JS 与JS 调java
这个 刚开始 我也不会,把我整的是个蛋疼的啊, 最后发现其实挺简单的,我现在给大家说的是我自己掌握的一种, 1. 先是要给项目配置一些权限 (1).访问网络权限 (2).访问SD卡权限 2.给webv ...
- js 模拟点击_爬虫js逆向之无限debugger--抖音第三方数据分析平台的坑
爬虫js逆向系列 我会把做爬虫过程中,遇到的所有js逆向的问题分类展示出来,以现象,解决思路,以及代码实现,这三方面解析,供大家参考爬虫认知 在程序猿所有的方向中,爬虫是离money最近的一个方向,你 ...
- jsx怎么往js里传参数_给js文件传参数(详解)
一.利用全局变量 这是最简单的一种方式,比如Google Adsense: 缺点是引入了全局变量.其中引入文件的方式还有两个变体: // 变体1:用document.write输出 document. ...
- js replace 中文分号_在JS中用Replace 全部替换字符
类型:电子教程大小:3.3M语言:中文 评分:2.8 标签: 立即下载 在JS中常用的替换字符串是用 Replace函数,我们先来看一下 Replace函数的用法 replace 方法 返回根据正则表 ...
- java 企业版_下列版本中哪个是Java 企业版
下列版本中哪个是Java 企业版 2021-02-07 下列版本中哪个是Java 企业版 张爱玲评价自己的服饰:"仿佛穿着博物院的()到处走,遍体森森然飘飘欲仙".转动惯量是刚体转 ...
- 修改docker内java内存_在docker中使用java的内存情况
Java和Docker不是天然的朋友. Docker可以设置内存和CPU限制,而Java不能自动检测到.使用Java的Xmx标识(繁琐/重复)或新的实验性JVM标识,我们可以解决这个问题. 虚拟化中的 ...
- js 中 java 代码_在js中嵌套java代码
jsp中有时候在js中操作某些java后台传递过来的数据逻辑比较复杂,比如list内容的遍历,可以直接在页面上添加java脚本来执行内容,代码如下: //在js中插入java代码操作 //取出java ...
- java前台传多个id用什么接收_前端js传多个id 到java后台的处理方式
$("#createApplysjinfo").click(function(){ var allTableData=datagrid.bootstrapTable('getDat ...
最新文章
- python dict遍历性能,Python:遍历list vs over dict items效率
- 单例设计模式八种方式——5) 懒汉式(线程安全,同步代码块) 6) 双重检查 7) 静态内部类 8) 枚举
- .Net微服务实战之可观测性
- MobileSpace-关于我的激情的故事
- RuoYi-Cloud 进阶篇_03( Seata 高可用集群与 NacosConfig配置中心整合)
- BUAA-OO-2019 第三单元总结
- Python学习:命令行运行,循环结构
- ubuntu tftp 服务器故障排除一例
- 基于JAVA+Servlet+JSP+MYSQL的高校社团管理系统
- 【心灵鸡汤】谁的青春不迷茫
- python中惩罚的代码_如何只为在python中使用的实现支付依赖惩罚?
- XSS漏洞的渗透利用另类玩法
- 【算法笔记】马拉车算法:最长回文子串
- 计算机语言学翁富良,形式语言与自动机的关系
- 目前最常用的计算机机箱类型为_2016年秋计算机基础理论题 答案解析
- Builder模式创建pojo类
- java 发微信视频_分享java微信开发视频
- mysql查询的结果拼接字符串_MySql查询结果拼接成字符串
- 在失败的滴滴出行LOGO上谈APP设计
- MATLAB 过时了吗?