在JS中使用了encodeURIComponent对中文进行编码在PHP中使用iconv('UTF-8','gb2312',$q);就可以得到你需要的字串了,其中gb2312根据你实际应用来定如还不明白为什么看下面的文章
URL编码转换,escape() encodeURI() encodeURIComponent()
本文介绍对url编码的三种函数 escape() ,encodeURI() ,encodeURIComponent()
escape() 方法:
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符: @ * / +
encodeURI() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '
encodeURIComponent() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。不会被此方法编码的字符:! * ( )
phperz.com
因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者encodeURIComponent。如果原来的页面是utf8,用encodeURIComponent转化后在php后台又用urldecode转化后,一些特殊字符比如+等等会丢失掉
注意:escape 方法不能用来对“统一资源标识符”(uri) 进行编码。对其编码应使用 encodeuri 和 encodeuricomponent 方法。另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在 javascript1.0版本就有。
分享到:
相关推荐
在PHP中,为了正确解码由`encodeURIComponent`编码的字符串,首先使用`urldecode`函数去除百分号编码,然后根据原始字符集(可能是GBK、GB2312或UTF-8等)使用`iconv`函数转换编码格式。例如,如果原始字符集是GB...
在IT行业中,编码和解码是数据传输与存储过程中不可或缺的部分。...在"PHP+JS Base64和URI编码解码混合使用"这个主题中,我们可以学习到如何在客户端和服务器之间有效地处理编码数据,提高代码的可读性和兼容性。
JavaScript中对应的函数是`encodeURIComponent()`和`decodeURIComponent()`,它们同样遵循RFC 3986,但处理中文字符的方式略有不同,`encodeURIComponent()`会将中文字符编码成UTF-8的字节序列。 现在,我们结合`...
在JavaScript端使用`escape`函数编码,然后在PHP端使用自定义函数(如`js_unescape`)进行解码,可以确保数据在前端和后端之间正确传输。同时,也有PHP实现JavaScript的`escape`功能的函数,使得在PHP环境中可以完成...
`escape()`和`unescape()`是JavaScript的老式字符串编码和解码方法,它们用十六进制转义序列来替换某些字符,不过现在通常推荐使用`encodeURIComponent()`和`decodeURIComponent()`。 总结起来,PHP和JavaScript都...
在JavaScript中,`escape()`和`unescape()`函数是用来处理字符串的编码和解码的。它们在处理URL编码和特定字符编码时非常有用。然而,PHP并没有直接等效的内置函数,但我们可以根据其功能编写相应的PHP实现。下面将...
在PHP中,可以使用`urldecode()`函数来对`encodeURI`或`encodeURIComponent`函数编码的字符串进行反编码。 在使用`escape`函数时,需要注意的是,`escape`在处理0到255之外的Unicode值时,会将其转换为`%u***`格式...
在JavaScript中,编码和解码函数对于处理字符串和在Web应用程序中传递数据至关重要。这些函数主要涉及URL(统一资源定位符)的构建和解析,确保数据在不同环境间安全无误地传输。以下是对JavaScript中编码和解码函数...
例如,在PHP中,可以使用`urldecode()`函数来解码通过`encodeURIComponent`编码的字符串。 此外,文章还提到了编码问题可能涉及到的编码格式,例如UTF-8。UTF-8是一种广泛使用的字符编码格式,能够表示Unicode字符...
最后,需要提醒的是,虽然escape函数能够解决特殊符号带来的问题,但自ECMAScript 5起,escape函数已被废弃,现代JavaScript推荐使用encodeURI或者encodeURIComponent来进行URL编码。这两个函数提供了更为完善和安全...
常见的URL编码与解码函数在不同编程语言中有所不同: - JavaScript:`encodeURIComponent()` 和 `decodeURIComponent()` - Python:`urllib.parse.quote()` 和 `urllib.parse.unquote()` - Java:`java.net....
其中,JavaScript中提供的escape函数用于将字符串进行编码以便用于URL传输或其他场合,而PHP解码则是为了将经过JavaScript处理的字符还原。 首先,需要注意的是,原始的escape函数已经在ECMAScript 5之后被废弃,并...
例如,对于非ASCII字符,可能需要使用`encodeURIComponent`在JS中编码,并在PHP中使用`urldecode`解码。另外,如果涉及到文件上传,需要使用`FormData`对象,JS中设置`contentType`和`processData`属性,以及PHP中...
在这个"JS实现小图片Base64上传php接收实例"中,我们将探讨如何使用JavaScript处理小图片,并将其编码为Base64字符串,然后通过POST请求发送到PHP服务器进行接收和处理。这种方法特别适用于上传小型图片,避免了传统...
为了处理这个问题,描述中提供了一个PHP风格的解决方案,即用`decodeURIComponent`函数结合替换字符串中的`+`为`%20`,以此来实现搜索引擎URL的正确解码。而当遇到中文字符时,这些常规方法都不够用了。 在这部分,...
在 PHP 端,通常使用 `urldecode()` 函数来解码由 JavaScript 的 `encodeURIComponent()` 编码的 URL,但这不适用于 `escape()` 编码的结果。由于 `escape()` 对中文字符采用了 Unicode 编码,因此需要自定义函数来...
JavaScript中的URL编码和解码是处理网络请求和数据传输时非常关键的部分,因为非ASCII字符在URL中不能直接使用,必须进行编码。本文主要探讨JavaScript内置的`encodeURIComponent`和`decodeURIComponent`函数来解决...