广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js解决url传递中文参数乱码问题的方法详解
  • 661
分享到

js解决url传递中文参数乱码问题的方法详解

js中url中文乱码js url传参中文乱码js url 中文乱码 2023-05-19 11:05:31 661人浏览 安东尼
摘要

目录场景复现:bug解决思路:url传参中文乱码的解决方法1、escape 和 unescape2、encodeURI 和 decodeURI3、encodeURIComponent

场景复现:

做后台管理系统的时候,出现了一个bug:点击“导出数据”按钮,打开文件里面是空的。

乱码的url

正确的url

bug解决思路:

1.文件为空,应该是请求的url路径不对,显示一个空的模板即没带参数,因此可以判断是参数有误;

2.控制台打出url,可以看出是参数中文乱码;

3.怎样解决中文乱码问题?(大坑就在这里)

当时我尝试了encodeURI 和 decodeURI,以及encodeURIComponent 和 decodeURIComponent方法都没用(一般情况下都是有效果的),后来就是在导出数据接口那里打印{key}、{fORM[key]}分别是啥,然后得出undefined,后来我尝试加了一个value,没想到就可以了。

思路纠错:

我之前一直在对比这个页面的导出接口,和其他页面的导出接口是否写的一样?结果是一样的,而没有去思考它这里具体的值要的是什么,因此挺花费时间的。

url传参中文乱码的解决方法

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'

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'

总结

到此这篇关于js解决url传递中文参数乱码问题的方法的文章就介绍到这了,更多相关js url传递中文参数乱码内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: js解决url传递中文参数乱码问题的方法详解

本文链接: https://www.lsjlt.com/news/213136.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js解决url传递中文参数乱码问题的方法详解
    目录场景复现:bug解决思路:url传参中文乱码的解决方法1、escape 和 unescape2、encodeURI 和 decodeURI3、encodeURIComponent...
    99+
    2023-05-19
    js中url中文乱码 js url传参中文乱码 js url 中文乱码
  • php如何解决url中文传参乱码问题
    本篇内容主要讲解“php如何解决url中文传参乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何解决url中文传参乱码问题”吧!php解决url中文传参乱码问题的方法:1、使用ur...
    99+
    2023-06-22
  • php怎么解决url中文传参乱码问题
    本文操作环境:Windows7系统、PHP7.1版、Dell G3电脑。php怎么解决url中文传参乱码问题?php url地址栏传中文乱码解决方法集合php地址栏传中文$_GET下来后乱码,urlencode和urldecode用法详解u...
    99+
    2018-12-07
    php url 中文乱码
  • php url 参数中文乱码问题怎么解决
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php url 参数中文乱码问题怎么解决?PHP解决URL中文GBK乱码问题的两种方法一般情况下对URL进行UrlEncode 处理 , urlencode(),ur...
    99+
    2022-10-28
  • php url中文参数乱码问题如何解决
    这篇文章主要讲解了“php url中文参数乱码问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php url中文参数乱码问题如何解决”吧!乱码问题的原因在 PHP 中处理中文参数时...
    99+
    2023-07-05
  • Ajax传递中文参数到后台乱码的解决方法
    这篇文章主要讲解了“Ajax传递中文参数到后台乱码的解决方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ajax传递中文参数到后台乱码的解决方法”吧! ...
    99+
    2022-10-19
  • 如何解决php传递页面参数乱码问题
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。如何解决php传递页面参数乱码问题?php get传值 中文参数 乱码问题的尝试解决:网站的中文参数是直接传的 例如 /index.phpt=你好所有页面均为utf-8...
    99+
    2015-06-19
    php
  • 怎么解决php传递页面参数乱码问题
    本篇内容主要讲解“怎么解决php传递页面参数乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决php传递页面参数乱码问题”吧!php传递页面参数乱码的解决办法:1、打开相应的PHP代...
    99+
    2023-06-22
  • 解决js传中文参数到java后台出现乱码问题
    在js中传中文到java后端时,参数中有中文时,后端获取到的值是乱码。解决方法如下:先在js中传值时把参数编码,然后再传值到后端var userName=encodeURI(userName);在后端获取该值后,再用进行解码userName...
    99+
    2017-10-25
    java基础 解决 java 中文参数 问题 js
  • java参数乱码问题解决方法
    对于Post方式提交的数据,可以使用request.setCharacterEncoding("gb2312");来明确指定获取请求参数时使用编码。但是此种方式只对Post方式提交有效。request.setCharacterEncodin...
    99+
    2014-06-20
    java 乱码
  • java中url传中文时乱码解决方法
    Java中URL传中文时乱码的问题相信不少朋友都遇到过,最近就遇到一个问题,就是在Action当中把一条中文信息绑定在URL的后面,ActionForward到别一个页面时,用reqeust.getParameter取出是出现乱码的问题。解...
    99+
    2017-11-22
    java基础 java 乱码
  • Spring Mvc中传递参数方法之url/requestMapping详解
    前言相信大家在使用spring的项目中,前台传递参数到后台是经常遇到的事, 我们必须熟练掌握一些常用的参数传递方式和注解的使用,本文将给大家介绍关于Spring Mvc中传递参数方法之url/requestMapping的相关内容,分享出来...
    99+
    2023-05-31
    springmvc 参数传递 url
  • java中url传中文时乱码的解决方法
    Java中URL传中文时乱码的问题相信不少朋友都遇到过,最近就遇到一个问题,就是在Action当中把一条中文信息绑定在URL的后面,ActionForward到别一个页面时,用reqeust.getParameter取出是出现乱码的问题。推...
    99+
    2015-07-15
    java 乱码
  • springboot参数传中文乱码的解决方案
    目录前言业务部门的实现思路方案一:方案二:编写字符编码过滤器方案三:在application.yml指定编码格式为utf-8方案四:写个StringHttpMessageConver...
    99+
    2022-11-11
  • javascript中文url乱码的解决方法
    本篇内容介绍了“javascript中文url乱码的解决方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2022-10-19
  • php url参数中文乱码的原因和解决方法【总结】
    PHP是一种广泛使用的开发语言,可以用来创建Web应用程序和动态网页。但是,使用PHP时会遇到各种问题,其中一个最棘手的问题是URL中的中文参数乱码问题。在本篇文章中,我们将探讨该问题的根本原因以及如何解决它。URL中文参数乱码问题的原因在...
    99+
    2023-05-14
    php
  • php url参数中文乱码的原因和解决方法是什么
    这篇文章主要介绍“php url参数中文乱码的原因和解决方法是什么”,在日常操作中,相信很多人在php url参数中文乱码的原因和解决方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php url参数...
    99+
    2023-07-05
  • Android Studio的中文乱码问题解决方法
    Android Studio安装后发现所有的中文,不管是界面上的还是输出的log中的中文都变成小框框  可以肯定是字体的问题 解决:菜单File->settin...
    99+
    2022-06-06
    Android Studio 乱码 studio 方法 Android
  • drupal6上传中文文件名附件乱码问题解决方法
    本文实例讲述了drupal6上传中文文件名附件乱码问题解决方法。分享给大家供大家参考。具体方法如下: drupal6的upload模块只能上传英文名字的文件,我经过一段时间的测试,完美解决了drupal下中文文档上传的问...
    99+
    2022-06-12
    drupal6 上传 中文 文件名 附件 乱码问题 解决方法
  • Filter中获取传递参数方式(解决post请求参数问题)
    目录Filter中获取传递参数1.GET传递2.Post传递XyRequestWrapper类XySecurityFilterFilter中获取传递参数 1. GET 传递 参数可以...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作