PHP - url 解码。与维基百科的不同行为

发布于 2024-11-19 10:26:31 字数 1162 浏览 1 评论 0原文

全部。 我在 PHP 5.2.x 中的函数 urldecode() 有不同的行为。特别是你可以通过维基百科作为很好的例子来看到它。

首先,我的页面包含该函数的结果:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

比我使用的函数:

$url = urldecode($url);
echo $url;

这​​是 $url 变量的示例:

怎么了?为什么?我尝试在 PHP 网站上使用 function.urldecode.php 中的所有函数,但它没有给我任何成功的结果

这是在 PHP 中测试的代码的快速示例:

<?php
$url = array();

$url[] = "http://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B5%D1%81%D1%82";
$url[] = "http://ru.wikipedia.org/wiki/%CC%EE%EB%EE%E4%E5%F7%ED%EE";

foreach ($url as $value) :
    echo urldecode($value) . "<br/>";
endforeach;
?>

提前致谢!

all.
I have different behavior of function urldecode() in PHP 5.2.x. Especially you will be able to see it with Wikipedia as good example.

Firstly, my page where I have results of that function has meta:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

Than I'm using function:

$url = urldecode($url);
echo $url;

Here is example of $url variable:

What's wrong? Why? I'm tried to use all functions from function.urldecode.php at PHP web-site, but it didn't give me any successful results

Here is quick example of code to test in PHP:

<?php
$url = array();

$url[] = "http://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B5%D1%81%D1%82";
$url[] = "http://ru.wikipedia.org/wiki/%CC%EE%EB%EE%E4%E5%F7%ED%EE";

foreach ($url as $value) :
    echo urldecode($value) . "<br/>";
endforeach;
?>

Thanks in advance!

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

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

发布评论

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

评论(2

猫七 2024-11-26 10:26:31

不确定您在哪里获取该网址,但“Молодечно”的正确 utf-8 网址是:

$url = 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BB%D0%BE%D0%B4%D0%B5%D1%87%D0%BD%D0%BE';

echo urldecode($url);

您的网址是 cp1251 编码的

Not sure where you've taken that url, but the correct utf-8 one for "Молодечно" is:

$url = 'http://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BB%D0%BE%D0%B4%D0%B5%D1%87%D0%BD%D0%BE';

echo urldecode($url);

Your one is cp1251 encoded

诠释孤独 2024-11-26 10:26:31

正如 zerkms 所说,以下 url 是 cp1251 编码的。要将其转换为 UTF-8,只需使用以下命令:

 $url = 'http://ru.wikipedia.org/wiki/%CC%EE%EB%EE%E4%E5%F7%ED%EE';
 echo iconv("Windows-1251","UTF-8",urldecode($url));

 //output:  Молодечно

As said zerkms, the following url is cp1251 encoded. To convert it to UTF-8, just use this:

 $url = 'http://ru.wikipedia.org/wiki/%CC%EE%EB%EE%E4%E5%F7%ED%EE';
 echo iconv("Windows-1251","UTF-8",urldecode($url));

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