Javascript cookie中的乱码字符
我将汉字存储在cookie中,但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
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));