Firefox 遵循真正的规范,不会将 '+' 解码为空格...事实上,它会进一步将它们编码为 '%2B' 来存储 cookie。如果您使用 javascript 读取 cookie 并对其进行unescape,则所有空格都将变为 '+'。
要解决此问题,请使用 setrawcookie 和 rawurlencode
<?php
setrawcookie('cookie_name', rawurlencode($value), time()+60*60*24*365);
?>
唯一变化是空格将编码为 '%20' 而不是 '+',现在可以正确解码。