1、escape 和 unescape

escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。

采用unicode字符集对指定的字符串除0-255以外进行编码。所有的空格符、标点符号、特殊字符以及更多有联系非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z。

escape()函数用于js对字符串进行编码,不常用。

//跳转页
location.href = './test.html?'+escape('name=张三&age=18')//接收页
var str = unescape(location.search.substr(1));//url显示
'test.html?name%3D%u5F20%u4E09%26age%3D18'

注意:使用此方法时,不能对整个url进行编码,仅可对传参进行编码,因为会对 “?”等进行编码,导致路径错误,所以一般不用该方法。

2、encodeURI 和 decodeURI

把URI字符串采用UTF-8编码格式转化成escape各式的字符串。
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURI()用于整个url编码

//跳转页
location.href = encodeURI('./test.html?name=张三&age=18');//接收页
var str = decodeURI(location.search.substr(1));//url显示
'test.html?name=张三&age=18'

3、encodeURIComponent 和 decodeURIComponent

与encodeURI()的不同的是,“; / ? : @ & = + $ , #”,这些在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码。至于具体的编码方法,两者是一样。把URI字符串采用UTF-8编码格式转化成escape格式的字符串。

//跳转页
location.href = './test.html?'+encodeURIComponent('name=张三&age=18');//接收页
var str = decodeURIComponent(location.search.substr(1));//url显示
'test.html?name%3D张三%26age%3D18'

注意:使用此方法时,不能对整个url进行编码,仅可对传参进行编码,因为会对 “?”等进行编码,导致路径错误,所以一般不用该方法。

【JS】url传参中文乱码的解决方法相关推荐

  1. url 编码 js url传参中文乱码解决方案

    前后台用js传参过程中,如果是中文就容易出现乱码,所以最好是先编码. 1.配置文件web.config中 在节中加上整个网站的编码方式.  <globalization fileEncoding ...

  2. [转]IE、FireFox、Chrome浏览器中关于URL传参中文乱码,解决兼容性问题!

    原文地址:https://cloud.tencent.com/developer/article/1334736 前台用url传值中文,后台用request.getParameter接收参数.在Fir ...

  3. Java URL传参中文乱码问题

    2019独角兽企业重金招聘Python工程师标准>>> 我们经常会遇到这样的场景:在URL中传递参数,如果该参数为中文,如果设置不当,会出现乱码问题. URL传参所使用的编码为服务器 ...

  4. 关于url传参中文乱码问题

    之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/c ...

  5. C# Url传参中文乱码

    项目用到ReportViewer报表,里面的参数是通过url传参给报表,参数中含有中文字符,页面显示这些参数时发现中文部分都乱码,英文字符和数字都显示正常,于是便搜寻解决之法,最终得以解决.方法如下: ...

  6. struts2 url传参中文乱码

    1.设置struts.xml <constant name="struts.i18n.encoding" value="UTF-8" /> 或是设置 ...

  7. java url传参中文乱码问题_java中url传中文参数出现乱码

    缘由:java Http请求传输时将url以ISO-8859-1编码,服务器收到字节流后默认会以ISO-8859-1编码来解码成字符流(形成中文乱码).服务器 方法一:编码 咱们须要把request. ...

  8. spring mvc中关于url中传递中文乱码的解决方法

    在传值过程中,也是乱码出现的频繁地.先不说到底是什么场景了,通常常用的方案有如下几个 配置指定的filter <!-- 配置请求过滤器,编码格式设为UTF-8,避免中文乱码--><f ...

  9. 解决URL传参中文乱码

    1.首先在前端 使用encodeURI()方法处理 2.在Java后端使用 String spdm = URLDecoder.decode(request.getParameter("spd ...

最新文章

  1. mysql generator 命令_MyBatis Generator速查手册
  2. VC6.0背景颜色更改
  3. qt 文字倾斜投影_帅呆!钢铁侠中的激光投影键盘终于量产了,炫酷又好用
  4. [C++]实现委托模型
  5. java输出重定向gui_Java – 将system.out.println重定向到JLabel
  6. Spring mvc 参数类型转换
  7. locate用主动还是被动_已婚女人VS未婚女人,你觉得女人是应该主动出击还是被动接受?...
  8. idea 初始界面_IDEA 初始配置教程
  9. 如何自制一款智能AI离线语音小夜灯
  10. 快速排序 C语言代码 空间复杂度时间复杂度
  11. 【阿朱标红】参与感(3):新媒体营销篇
  12. Android 版本对应 Version Code
  13. Python 10个项目创意
  14. 904. 水果成篮(数组、滑动窗口)
  15. Prescan(六):prescan设置不停绕圈的障碍车
  16. 跳跃游戏 (动态规划剪枝/前缀和/滑动窗口/BFS剪枝)
  17. 443_J1939源地址与目标地址的使用和判断
  18. 关于矩形的边框,以及边框线偶尔不显示的问题
  19. 哈佛的学生都在看这种视频,每天15分钟,英语水平暴增!
  20. python查火车票_使用python制作查询火车票工具

热门文章

  1. hive如何创建视图
  2. C#与三菱PLC通信(FX5U工控设备)
  3. 【Unity鼠标从屏幕空间(坐标)转换为世界空间(坐标)】
  4. 长尾关键词对医院网络优化的重要性
  5. 什么是redo log和undo log
  6. 单反相机tf卡用sd卡套稳定吗_关于照相机存储卡,这些知识你真有了解过吗?...
  7. ZYNQ - 以太网远程更新SD卡应用程序
  8. 正则表达式:安琪拉之歌Aquarian文字查找与翻译
  9. Java集合之Stack(出自Java知识体系)
  10. Oracle创建序列后无法使用序列初始值