Rumah  >  Artikel  >  pembangunan bahagian belakang  >  asp.net Cookie值中文乱码问题

asp.net Cookie值中文乱码问题

伊谢尔伦
伊谢尔伦asal
2016-11-25 09:14:551697semak imbas

ookie里面不能写中文,是由于cookie先天的编码方式造成的。所以需要有一种中间编码来过渡。 URLEncode是最好的选择。

我们以asp.net为例,代码如下:

设置Cookie时:

HttpCookie cookie = new HttpCookie("name", System.Web.HttpContext.Current.Server.UrlEncode("雨林星空"));
Response.Cookies.Add(cookie);

读取Cookie时:

if (Request.Cookies["name"] != null)
{
    Response.Write(System.Web.HttpContext.Current.Server.UrlDecode(Request.Cookies["name"].Value));
}

注意:编码和解码要一致

System.Web.HttpContext.Current.Server.UrlDecode 和 System.Web.HttpContext.Current.Server.UrlEncode

System.Web.HttpUtility.UrlDecode 和 System.Web.HttpUtility.UrlEncode


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn