Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript cookie中的乱码字符_Javascript_Encoding_Cookies - Fatal编程技术网

Javascript cookie中的乱码字符

Javascript cookie中的乱码字符,javascript,encoding,cookies,Javascript,Encoding,Cookies,我将汉字存储在cookie中,但cookie值将更改为乱码字符。我该怎么办 function createCookie(name, value, days) { if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 1000 * 60 * 60 * 24)); var expires = "; expires=" + date.toGMTString

我将汉字存储在cookie中,但cookie值将更改为乱码字符。我该怎么办

function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 1000 * 60 * 60 * 24));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

createCookie("city", decodeURI('%e6%b8%a9%e5%b7%9e%e5%b8%82'));
alert(decodeURI('%e6%b8%a9%e5%b7%9e%e5%b8%82')); // The Chinese characters are correct
alert(document.cookie); //The Chinese characters are corrupted

在设置cookie之前,您只需对值进行编码(如果名称也可以包含中文字符的话,可能还需要对名称进行编码)(我不确定使用的是什么编码
decodeURI
,但可以推测,不管它使用什么编码,它都有一个编码动词来匹配解码动词y?)

您只需对值进行编码即可在设置cookie之前(我不确定使用什么编码
decodeURI
,但不管它使用什么编码,它都有一个编码动词来匹配解码动词y?-)

试试这个,对我来说很有用

createCookie("city", '%e6%b8%a9%e5%b7%9e%e5%b8%82'); //do not decode chinese characters
alert(decodeURI('%e6%b8%a9%e5%b7%9e%e5%b8%82')); 
alert(decodeURI(document.cookie)); 

试试这个,对我有用

createCookie("city", '%e6%b8%a9%e5%b7%9e%e5%b8%82'); //do not decode chinese characters
alert(decodeURI('%e6%b8%a9%e5%b7%9e%e5%b8%82')); 
alert(decodeURI(document.cookie));