在 Javascript 和 PHP 中编码 URL 的功能相同吗?

发布于 2024-11-03 08:58:29 字数 498 浏览 0 评论 0原文

我一直在寻找可以在 PHP 和 Javascript 之间交换的函数 [用于编码和解码 URL] [我可以在 javascript 中对 URL 进行编码并在 PHP 中对其进行解码,反之亦然],出现了很多解决方案,例如escape() 和 unescape();对于 javascript,有encodeURI() 和decodeURI(),或者对于PHP,有urlencode() 和urldecode(),但是没有一对可以完美地协同工作。因为我想使用 Ajax jQuery 发送发布数据供 PHP 页面使用,并且数据可以与特殊字符混合,这就是为什么我需要一个在 PHP 和 Javascript 中工作相同的函数:

示例:

$.ajax{url: "test.php", data: "http://www.thisURLContainSpecialCharac.ter"}

看到上面的代码了吗?它在数据中包含特殊字符,可能会导致问题。

我很感激任何建议:)。谢谢。 [x]

I've been looking for the functions [used to encode and decode URL] that can be exchangable between PHP and Javascript [I can encode the URL in javascript and decode it in PHP and vice versa], there are many solutions come up, like escape() and unescape(); encodeURI() and decodeURI() for javascript, or urlencode() and urldecode() for PHP, but there is no pair which can works together perfectly. Because I want to send post data using Ajax jQuery for a PHP page to use, and data can be mixed with special character, that's why I need a function that works the same in PHP and Javascript:

Example:

$.ajax{url: "test.php", data: "http://www.thisURLContainSpecialCharac.ter"}

See the code above? It contains special characters in data, that may cause problem.

I appreciate any advice :). Thanks.
[x]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橙幽之幻 2024-11-10 08:58:29

您不想使用 Javascript 的 escape 函数,因为它不进行 URL 编码。请参阅 http://xkr.us/articles/javascript/encode-compare/失败的例子。

Javascript 的 encodeURIComponent 将假设 UTF-8 进行编码,因此如果您使用它并且确保您的请求的内容类型为 UTF-8,您应该能够使用

utf8_decode(url解码($yourString))

You don't want to use Javascript's escape function since it does not URL encode. See http://xkr.us/articles/javascript/encode-compare/ for examples where it fails.

Javascript's encodeURIComponent will encode assuming UTF-8, so if you use that and make sure that your request has a content-type of UTF-8, you should be able to decode in PHP using

utf8_decode(urldecode($yourString)).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文