php - Cookie值变为不同的值

时间:2014-06-11 04:20:32

标签: php cookies

我用PHP设置我的cookie:

setcookie(
"hero",
", Comma . Dot < Left > Right - Dash _Underline / Slash \\ Backslash",
time() + (10 * 365 * 24 * 60 * 60));

但不知何故,这是cookie的价值:

  

%2C +逗号+ +点+%3C +左+%3E +右+ - + _ +下划线%2F +斜线+反斜杠

而不是:

  

,逗号。点&lt;左>&gt;右 - Dash _Underline / Slash \ Backslash

<小时/> 奇怪的是,我试图获得这样的cookie值:

echo $_COOKIE["hero"];

结果导致:

  

,逗号。点&lt;左>&gt;右 - Dash _Underline / Slash \ Backslash


为什么会这样?

2 个答案:

答案 0 :(得分:2)

PHP会在设置cookie时自动对URL的值部分进行编码。

阅读setcookie();

上的PHP Manual条目

答案 1 :(得分:1)

您可以设置原始cookie然后值将保持不变,那么当发送到浏览器时,值不会自动进行urlencoded。了解更多信息

http://www.php.net//manual/en/function.setrawcookie.php