求助:request传递中文乱码的问题

瘦马 2020-10-12 07:14:06
在A页面使用
url: top.$.rootUrl + '/Zjjg/ZJJG_Feedback/Form?ProjectID=' + ProjectID + '&ProjectName=' + ProjectName,//此处是传递ProjectName
…………
console.log(ProjectName);//验证可正常显示中文
,

传递两个参数ProjectID和ProjectName.
ProjectID为全英文,可以正常传递
ProjectName包含中文
在当前页面console.log可以显示正常中文


在B页面,使用
var ProjectName = request('ProjectName');//此处获取的中文乱码

console.log(ProjectName); //此处显示的是乱码

乱码是这样的:
卢阳镇老的XX项ç›åç


不像是被URI编码后的一些%这样的。求助

在b页面试过了
var ProjectName = decodeURI(request('ProjectName'))//一层

var ProjectName = decodeURI((decodeURI(request('ProjectName')))//两层

以及unescape(一层、二层)、decodeURIComponent(一层、二层)均不行,得到的还是乱码
...全文
1668 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
瘦马 2020-10-13
  • 打赏
  • 举报
回复
引用 4 楼 qybao 的回复:
[quote=引用 3 楼 瘦马 的回复:]这系统好像对request单独进行了封装,
   <script>
        function request(d) { for (var c = location.search.slice(1).split("&"), a = 0; a < c.length; a++) { var b = c[a].split("="); if (b[0] == d) if ("undefined" == unescape(b[1])) break; else return unescape(b[1]) } return "" };
    </script>
可以通过改这个封装达到传中文的目的吗?
那你就针对它的封装,传参数的时候escape一下试试 uri=xxx+‘&projectname=‘+escape(projectname); [/quote] 谢谢你的提醒,我在赋值的时候使用escape ProjectName=escape(item.test) 传递的时候直接传递 接收的时候直接使用,不使用unescape就可以正常显示中文了。谢谢。
瘦马 2020-10-13
  • 打赏
  • 举报
回复
传递使用escape、接收unescape,还是乱码
qybao 2020-10-13
  • 打赏
  • 举报
回复
引用 3 楼 瘦马 的回复:
这系统好像对request单独进行了封装,
   <script>
        function request(d) { for (var c = location.search.slice(1).split("&"), a = 0; a < c.length; a++) { var b = c[a].split("="); if (b[0] == d) if ("undefined" == unescape(b[1])) break; else return unescape(b[1]) } return "" };
    </script>
可以通过改这个封装达到传中文的目的吗?
那你就针对它的封装,传参数的时候escape一下试试 uri=xxx+‘&projectname=‘+escape(projectname);
瘦马 2020-10-13
  • 打赏
  • 举报
回复
这系统好像对request单独进行了封装,
   <script>
        function request(d) { for (var c = location.search.slice(1).split("&"), a = 0; a < c.length; a++) { var b = c[a].split("="); if (b[0] == d) if ("undefined" == unescape(b[1])) break; else return unescape(b[1]) } return "" };
    </script>
可以通过改这个封装达到传中文的目的吗?
瘦马 2020-10-13
  • 打赏
  • 举报
回复
引用 1 楼 qybao 的回复:
试试看传输的时候encode 即 uri=xxx+‘&projectname=‘+encodeuri(projectname); 接收时 projrctname=decodeuri(request(‘projectname’);
还是不行,console.log出来还是乱码
qybao 2020-10-13
  • 打赏
  • 举报
回复
试试看传输的时候encode 即 uri=xxx+‘&projectname=‘+encodeuri(projectname); 接收时 projrctname=decodeuri(request(‘projectname’);

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧