cookie仅支持存放英文和数字,存放中文会导致乱码,所以需要使用UrlEncode来转码和解码。
①前端用js存放中文字符,将其转码为UrlCode:
//写入中文cookie
function setCookie_CN(key, value, t) {
var oDate = new Date();
oDate.setDate(oDate.getDate() + t);
document.cookie = key + '=' + escape(value) + ';expires=' + oDate.toGMTString();
}
②C#对前端存放的cookie进行解码
string urlcode_string = HttpUtility.UrlDecode(Request.Cookies["UrlCode"].Value, Encoding.GetEncoding("UTF-8"));
urlcode_string就是读取的中文字符串