C#编写读取cookie ,出现中文乱码

C#部分代码:HttpCookiecookie=newHttpCookie("jwxt");cookie["姓名"]=name.Text;Response.Cookies... C#部分代码:
HttpCookie cookie = new HttpCookie("jwxt");
cookie["姓名"] = name.Text;
Response.Cookies.Add(cookie);
HttpCookie cookieread = Request.Cookies["jwxt"];
message.Text = cookieread["姓名"];
在aspx文档中,有个TextBox的id为name,有个label的id为message。这段代码是通过一个button来实现写入和读取cookie。
在VS进行调试的时候,一切顺利。
通过http://127.0.0.1/default.aspx打开这个网页,一旦输入到TextBox的是中文,就在读取的时候出现乱码。请高手指点。
灰常感谢!!
展开
 我来答
百度网友bc16ffec5
推荐于2018-05-17 · TA获得超过290个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:298万
展开全部
/// 写cookie值
/// </summary>
/// <param name="strName">名称</param>
/// <param name="strValue">值</param>
public static void WriteCookie(string strName, string strValue)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies[strName];
if (cookie == null)
{
cookie = new HttpCookie(strName);
}
cookie.Value=HttpUtility.UrlEncode(strValue, Encoding.GetEncoding("UTF-8"));
// cookie.Value = strValue;
HttpContext.Current.Response.AppendCookie(cookie);

}

/// <summary>
/// 读cookie值
/// </summary>
/// <param name="strName">名称</param>
/// <returns>cookie值</returns>
public static string GetCookie(string strName)
{

if (HttpContext.Current.Request.Cookies != null && HttpContext.Current.Request.Cookies[strName] != null)
{
//HttpUtility.UrlDecode(strName, Encoding.GetEncoding("UTF-8"));

//return HttpContext.Current.Request.Cookies[strName].Value.ToString();
return HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies[strName].Value.ToString(), Encoding.GetEncoding("UTF-8"));
}

return "";
}
更多追问追答
追问
我换了你提供的方法去写,读出的cookie内容不出错了,但我多做了一点修改,如下:
cookie["姓名"] = HttpUtility.UrlEncode(name.Text, Encoding.GetEncoding("UTF-8"));
得到的结果是:
濮撳悕=输入的姓名
就是说,带索引的部分——"姓名"——还是出错了。
请指教,谢谢。

或者这样说吧,用带索引的cookie应该怎么写?
追答
濮撳悕
你这个值是怎么样取得的
你换种方式吧,
你参考上面的编码解码方式,其实就能找到答案的,自己想想吧
歪鼻木熊
2011-07-26 · TA获得超过458个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:431万
展开全部
编码问题,用 http://127.0.0.1/default.aspx 打开时,看下页面编码,是utf-8还是gb2312。

cookie存放时的编码,程序读取时用的编码,页面显示时用的编码,几处保持一致就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式