2011-10-27 11 views
2

私の問題はこれです。私が受信してPHPページにこのクッキーを読んだとき、私は「+」PHPから読み取ったときのCookie情報の変更

"MXGWJfgr4HDINl/BdAfBUf12710aFNcaIQKgGJ7VShxvprVo1XK Hntg" 

としてイムがコンテンツを取得し、現在値

"MXGWJfgr4HDINl/BdAfBUf12710aFNcaIQKgGJ7VShxvprVo1XK+Hntg" 

を含むJavaスクリプトを使用してクッキーを設定しています記号は空白文字に変更されます。それはなぜそうですか?

+1

何かがURLエンコード(またはURLデコード)クッキーの内容です。それぞれのコードではどのようなコードを使用していますか? –

+0

http://www.php.net/manual/en/function.setcookie.php#88803 – Dev

+0

URIエンコードを使用しないでください。単にdoucment.cookie = name = "value"として設定してください。申し訳ありません、私はこれに初心者です。 – Kris

答えて

1

document.cookie基準によれば:

クッキー値文字列は、文字列は、(クッキー値に禁止されている)任意のカンマ、セミコロン、または空白 を含まない ことを保証するために、encodeURIComponentで()を使用することができます。

だから、これはあなたが何をする必要があるかです:

document.cookie = "foobar=" + encodeURIComponent("MXGWJfgr4HDINl/BdAfBUf12710aFNcaIQKgGJ7VShxvprVo1XK+Hntg"); 
alert(document.cookie); // + becomes %2B which PHP will interpret and decode automatically 
+0

その正確な答えをありがとう – Kris

関連する問題