zoukankan      html  css  js  c++  java
  • 解决Cookie乱码

    在Asp.net的HttpCookie中写入汉字,读取值为什么全是乱码?其实这是因为文字编码而造成的,汉字是两个编码,所以才会搞出这么个乱码出来!其实解决的方法很简单:只要在写入Cookie时,先将其用Url编码,然后再写入,当我们读取时再解码就OK了,希望更多的学生妹妹能解决它,呵呵!
       例子:
       Cookie的写入:
    1HttpCookie cookie=new HttpCookie("Simple");
    2cookie.Values.Add("Simple1",HttpUtility.UrlEncode("大叔,你好!"));
    3cookie.Values.Add("Simple2","English is OK!Nothing we should do!");
    4Response.AppendCookie(cookie); Cookie的读取:
    1HttpCookie cookie=Request.Cookies["Simple"];
    2string simple1=HttpUtility.UrlDecode(cookie["Simple1"]);
    3string simple2=cookie["Simple2"]; 这样simple1="大叔,你好!";simple2="English is OK!Nothing we should do!";

    下面是没用过的资料

    设置cookie时:

    HttpCookie cookie = Request.Cookies["UserName"];
                    if (Session["UserName"] != null)
                    {
                        string userName = Server.UrlEncode(Session["UserName"].ToString());
                        if (cookie != null)
                        {
                            cookie.Value = userName;
                            //cookie.Expires = DateTime.Now.AddDays(1);
                            cookie.Domain = BasePage.DomainName;
                            Response.Cookies.Set(cookie);
                        }
                        else
                        {
                            cookie = new HttpCookie("UserName");
                            cookie.Value = userName;
                            //cookie.Expires = DateTime.Now.AddDays(1);
                            cookie.Domain = BasePage.DomainName;
                            Response.Cookies.Add(cookie);
                        }
                    }


    获取cookie时:

    private string _loginUserName;
            public string LoginUserName
            {
                get
                {
                    if (Session["UserName"] != null && Session["UserName"].ToString() != "")
                    {
                        _loginUserName = Session["UserName"].ToString();
                    }
                    else if (Request.Cookies["UserName"] != null && Request.Cookies["UserName"].Value != "")
                    {
                        _loginUserName = Server.UrlDecode(Request.Cookies["UserName"].Value);
                    }
                    else
                    {
                        _loginUserName = null;
                    }
                    return _loginUserName;
                }
            }

  • 相关阅读:
    【51nod】2590 持续讨伐
    【51nod】2589 快速讨伐
    【51nod】2606 Secondary Substring
    【LOJ】#3098. 「SNOI2019」纸牌
    【洛谷】P4202 [NOI2008]奥运物流
    【LOJ】#3103. 「JSOI2019」节日庆典
    【LOJ】#3102. 「JSOI2019」神经网络
    【洛谷】P5348 密码解锁
    【洛谷】P4883 mzf的考验
    【LOJ】#3101. 「JSOI2019」精准预测
  • 原文地址:https://www.cnblogs.com/hateyoucode/p/1641974.html
Copyright © 2011-2022 走看看