zoukankan      html  css  js  c++  java
  • asp.net Cookies 转码的问题 中文丢失

     因为asp.net使用UTF-8的文字编码来显示GB2312的中文,所以有的时候会出现乱码,尤其在cookies的时候,更甚至是我们在web.config中这样设置之后<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>,会导致我们的中文cookie变成乱码,从而导致cookies无效,因此要将cookies转化成UTF-8的格式:代码如下:
        /// <summary>
        
    /// 设置 Cookie
        
    /// </summary>
        
    /// <param name="lxfs"></param>
        
    /// <param name="expiresDays"></param>

        public static void SetCookie(string key, string value, int expiresDays)
        
    {
            DateTime expires 
    = DateTime.Now.AddDays(expiresDays);
            HttpCookie MyCookie 
    = new HttpCookie(key);
            MyCookie.Domain 
    = ".yourdomain.com";
            MyCookie.Value 
    = HttpUtility.UrlEncode(value);
            MyCookie.Expires 
    = expires;
            HttpContext.Current.Response.Cookies.Add(MyCookie);
        }

    读取cookie的时候使用这个函数:

     /// <summary>
        
    /// 对cookie进行UTF编码
        
    /// author:jake
        
    /// bt:080414
        
    /// </summary>
        
    /// <param name="str"></param>
        
    /// <returns></returns>

        public static string GetCookid(string str)
        
    {
            Encoding stre 
    = Encoding.GetEncoding("UTF-8");
            
    return HttpUtility.UrlDecode(str,stre);
        }


    如:
    GetCookid(HttpContext.Current.Request.Cookies["sswoo_user"].Value)

    如此以来即可解决中文字符cookie丢失的问题了!
  • 相关阅读:
    leetcode821
    leetcode872
    leetcode700
    leetcode806
    2019-9-2-win10-uwp-右击浮出窗在点击位置
    2019-9-2-win10-uwp-打包第三方字体到应用
    2019-10-18-dotnet-文件读写务必注意事项
    2018-8-10-win10-uwp-如何创建修改保存位图
    2018-8-9-win10-uwp-装机必备应用-含源代码
    2019-11-1-asp-dotnet-core-简单开发P2P中央服务器
  • 原文地址:https://www.cnblogs.com/chy8219/p/1277722.html
Copyright © 2011-2022 走看看