在日常开发当中,我们可能遇到要将某个页面的参数通过url链接拼接的方式传递到另一个页面当中,在另一个页面当中进行使用,如果传输过去的是中文,那么可能会遇到中文乱码问题,那么该如何来解决呢?
<!--test01.html--><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="/jquery/2.1.4/jquery.min.js"></script></head><body><div id="userName">你好明天</div><div οnclick="send();">点击测试</div><script>function send(){var url = "test02.html";var userName = $("#userName").html();// window.open(encodeURI(url + "?userName=" + userName));//encodeURI针对整个参数进行编码window.open(url + "?userName=" + encodeURIComponent(userName)); //encodeURIComponent针对单个参数进行编码}</script></body></html>
<!--test02--><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><script src="/jquery/2.1.4/jquery.min.js"></script></head><body><div id="userName"></div><script>var urlinfo = window.location.href;//获取urlvar userName = urlinfo.split("?")[1].split("=")[1];//拆分url得到”=”后面的参数// $("#userName").html(decodeURI(userName));//decodeURI针对整个参数进行解码$("#userName").html(decodeURIComponent(userName)); //decodeURIComponent针对单个参数进行解码// $("#userName").html(userName);</script></body></html>
针对中文乱码问题,最主要是通过(encodeURI,decodeURI),(encodeURIComponent,decodeURIComponent)两种方法进行参数的编码以及解码工作,其中xxxxURI最主要针对的是整个url参数,xxxxURIComponent针对的是当个url参数;
简单的分享就到这里,如有疑问,欢迎留言~