我在JS中将对象数组编码为cookie:
prod.name = name;
prod.id = id;
prod.price = cost;
prod.quantity = 1;
Products = [prod];
Cookies.set('cart', Products);
名称看起来像"Some product name"
,但是当我从PHP做同样的事情时:
setcookie('products', json_encode($Products));
我的名字就像"一些+产品+名称" - 有什么方法可以避免它,或唯一的方法是str_replace() + with " "
(什么是主题的unicode模拟)?
UPD。简单来说:
如果我setcookie ('cartNew', json_encode(['name' => "Some product name"]));
- 在Cookie中我看到" +",并且JS将其解码为" +"。 Cookie就像%7B%22name%22%3A%22Some+product+name%22%7D
- firefox。我也使用UTF-8和php 5.4
答案 0 :(得分:-1)
使用RegEx替换来消除额外的'+':
prod.name = name.replace(/\+/g, "");