Php 无法从url获取html特殊字符

Php 无法从url获取html特殊字符,php,Php,我对php非常陌生,无法找到问题的答案 我尝试从URL回显带有特殊字符的字符串(即à;,é;) URL字符串: preview.php?content=blà&伊库特;bla 预期回显结果:blábla 所以我这样做: $cont = $_GET['content']; echo $cont; 结果: bl 因此,即使我的页面有一个,我也尝试了: $cont = $_GET['content']; $cont = html_entity_decode($co

我对php非常陌生,无法找到问题的答案

我尝试从URL回显带有特殊字符的字符串(即
à;
é;

URL字符串:
preview.php?content=blà&伊库特;bla

预期回显结果:
blábla

所以我这样做:

$cont = $_GET['content'];
echo $cont;
结果:
bl

因此,即使我的页面有一个
,我也尝试了:

$cont = $_GET['content'];
$cont = html_entity_decode($cont, ENT_COMPAT, 'UTF-8');
echo $cont;
同样的结果:
bl

我在页面顶部尝试了一个标题(
header('Content-Type:text/html;charset=UTF-8');
),得到了相同的结果

奇怪的是,我尝试了这个:

echo html_entity_decode("<p>bl&agrave; &eacute; bla</p>");
echo html\u entity\u decode(blà;é;bla

);
甚至这个:

echo "<p>bl&agrave; &eacute; bla</p>";
echo“blà;é;bla

”;
我得到了预期的结果:
blábla

因此,我不认为这是字符集问题,但不理解为什么它与文本字符串一起工作,而与get变量不一起工作,有人能帮我吗?

用:编码URL,例如:

$url = 'content=' . urlencode('content=<p>bl&agrave; &eacute; bla</p>');
echo '<a href="preview.php?' . htmlentities($url) . '">';
$url='content='。urlencode('content=blà;é;bla

'); 回声';
@justonUndermillion是正确的

例如:

如果您尝试从URL访问数据,如

http://localhost/index.php?content=%3Cp%3Ebl&agrave;%20&eacute;%20bla%3C/p%3E

echo $_GET['content'];

OUTPUT: bl
但是当你通过编码数据来传递数据时

http://localhost/index.php?content=%3Cp%3Ebl%26agrave%3B%20%26eacute%3B%20bla%3C%2Fp%3E

echo $_GET['content'];

OUTPUT: blà é bla
最好使用URL中的数据编码功能。

谢谢大家

这很好用


实际上,由于我的URL是用javascript生成的,所以我在我链接的href变量上做了一个
encodeURIComponent
,它也可以工作。

如果您想将带有参数的URL作为URL中的值并通过javascript函数传递,例如

将URL值通过PHP
urlencode()
函数传递两次,如下所示

<?php

   $url = "index.php?id=4&pg=2";
   $url = urlencode(urlencode($url));
   echo "<a href=\"javascript:openWin('page.php?url=$url');\">";
?>
如果不这样做,您会发现目标脚本中的结果URL值缺少
问号后面的所有var=值

index.php?id=4

请同时检查此在线工具:,

您需要在字符串进入URL之前对其进行编码,以便在您取下它时能够对其进行解码。符号是URL中的特殊字符,用于分隔查询字符串参数。
&
是下一个get参数的URL分隔符,使用前必须对URL进行编码。因此,编码后,
&
变为
%26
。要了解我的意思,请在
echo$cont
var\u转储($\u GET)
und您将看到
Array([content]=>bl[agrave;]=>[eacute;bla]=>)
so
agrave_成为数组键。
index.php?id=4