2009-10-27 76 views
1

我在Cookie中存儲中文字符,但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 

回答

1

試試這個,適合我。

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)); 
0

你只需要編碼值(也許,如果可以包含中國字寫得名稱)設置cookie之前(我不知道用什麼編碼decodeURI使用,但據推測,不管編碼它,它有一個編碼動詞匹配解碼之一,Y? - )