`
星海孤舟
  • 浏览: 68903 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

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

阅读更多

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

发布:dxy 字体:[增加 减小] 类型:转载
<!--end art_info-->
前后台用js传参过程中,如果是中文就容易出现乱码,所以最好是先编码。
<script type="text/javascript"></script><script src="http://cpro.baidu.com/cpro/ui/c.js" type="text/javascript"></script><script src="http://cb.baidu.com/ecom?di=u91397&amp;tm=BAIDU_CPRO_SETJSONADSLOT&amp;fn=BAIDU_CPRO_CSETADSLOT&amp;baidu_id=" type="text/javascript"></script>
-
<script type="text/javascript"></script><script src="http://cpro.baidu.com/cpro/ui/c.js" type="text/javascript"></script><script src="http://cb.baidu.com/ecom?di=u88231&amp;tm=BAIDU_CPRO_SETJSONADSLOT&amp;fn=BAIDU_CPRO_CSETADSLOT&amp;baidu_id=" type="text/javascript"></script>
-
<!--NEWSZW_HZH_BEGIN-->1.配置文件web.config中 在节中加上整个网站的编码方式。
<globalization fileEncoding="GB2312" requestEncoding="GB2312" responseEncoding="GB2312"/>
这样参数就以gb2312的中文编码方式传输了。而一般默认是utf-8.
2.在传参是先编码在传输,接受时先编码,在接收。
string mm=Server.URLEncode(你);
Response.Redirect(index.aspx?mm=+mm);
然后在接收页解码:
string mm = Server.URLDecode(Requext.querystring(mm));
javascript中存在几种对URL字符串进行编码的方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起的作用各不相同。
escape() 方法:
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。
不会被此方法编码的字符: @ * / +
encodeURI() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '
encodeURIComponent() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。
不会被此方法编码的字符:! * ( ) '
因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用 escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者 encodeURIComponent。
另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。

传参:用encodeURI("url参数")将url编码
收参:用decodeURI("接收到的值")解码
分享到:
评论

相关推荐

    javascript 传参中文乱码解决方案

    ### JavaScript 传参中文乱码解决方案 在进行Web开发时,经常会遇到中文字符在URL传输过程中出现乱码的问题。这主要是因为不同的系统、浏览器或服务器可能采用不同的编码方式处理URL中的参数,导致原本正常的中文...

    get方式传参中文乱码问题的解决方案

    ### get方式传参中文乱码问题的解决方案 在Web开发中,经常遇到GET请求传递中文参数时出现乱码的问题。这种现象通常出现在不同编码格式之间的转换过程中,导致浏览器或者服务器端解析参数时出现问题。本文将深入...

    Ajax传参是乱码解决方案

    ### Ajax传参是乱码解决方案 在Web开发过程中,数据编码问题经常会导致各种各样的乱码现象出现。尤其是在使用Ajax进行前后端交互时,如果字符编码处理不当,很容易导致前端发送给后端的数据出现乱码。本文将详细...

    奇数个中文字符url传递乱码

    本文将深入探讨“奇数个中文字符URL传递乱码”的问题,并提供一种可行的解决方案。 ### 一、问题背景 #### 1.1 URL编码概述 URL(Uniform Resource Locator)用于标识互联网上的资源位置。由于某些字符在URL中具有...

    jsp页面传参乱码的解决方法

    针对这个问题,一个有效的解决方案是在JavaScript中使用两次`encodeURIComponent()`,确保所有可能的非ASCII字符都被正确编码。例如: ```javascript var userAccount = "张三"; var encodedUserAccount = ...

    JS解决url传值出现中文乱码的另类办法

    这种方式中,indexName的中文会因为URL编码而在后台接收时出现乱码。 现在,我们可以改用动态创建表单的方法: ```javascript function createData(indexId, indexName) { var urlStr = "catalogAction.do?action...

    java中文乱码

    Java 中文乱码解决方案 Java 中文乱码是指在 Java 应用程序中,中文字符在传输、存储和显示过程中出现的乱码问题。这种问题可能会出现在 Java 与数据库、JSP、文件流之间的数据交换过程中。本文将总结 Java 中文...

    Web报表FineReport页面如何传递中文参数

    综上所述,在web报表开发过程中,当需要传递包含中文或特殊字符的参数时,通过使用cjkEncode对这些参数进行编码是一种有效的解决方案。在实际应用中,可以根据页面的具体需求以及是否已经加载了jquery框架来选择合适...

    jsp传参 servlet接收中文乱码问题的解决方法

    5. **尝试其他解决方案**: 如果以上方法都不能解决问题,可能需要检查其他环节,比如IDE的编码设置、IDE与Tomcat之间的通信编码,或者查看是否有其他Filter或中间件干扰了编码设置。 通过这些方法,大多数情况下...

    jQuery ajax方法传递中文时出现中文乱码的解决方法

    本文将详细解释这个问题,并提供有效的解决方案。 首先,我们要理解AJAX(Asynchronous JavaScript and XML)的核心是通过XMLHttpRequest对象与服务器进行异步数据交换。当传递包含中文字符的数据时,如果编码处理...

    JS URL传中文参数引发的乱码问题

    在JavaScript中,URL传参时遇到的中文乱码问题通常涉及到字符编码的转换。当URL包含中文字符时,浏览器和服务器之间可能由于编码格式不一致导致乱码。为了解决这个问题,我们需要理解JavaScript中用于URL编码的相关...

    解析:ClickOnce通过URL传递参数 XXX.application?a=1

    需要注意的是,当URL中包含特殊字符或中文参数时,通常需要进行URL编码和解码以确保数据传输的正确性。在C#中,可以使用`HttpUtility.UrlEncode`和`HttpUtility.UrlDecode`方法来进行编码和解码操作。 此外,如果你...

    SmartClient资料

    26. **JS传递中文参数乱码**:当JavaScript传递包含中文字符的参数时,可能会出现乱码问题,解决方法通常涉及到字符编码转换。 这些知识点涵盖了SmartClient的核心组件、数据管理、用户交互、前后端通信等多个方面...

Global site tag (gtag.js) - Google Analytics