我在登录页面用cookie 保存了用户名,但是一遇到汉字,登录了就成了乱码,我在网上找了相关的资料,试了结果还是没解决乱码这个问题,请大虾指点几招
我在配置文件中加了如下 :(还是乱码)
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
我在配置文件中加了如下 :(还是乱码)
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
requestEncoding="gb2312"
responseEncoding="gb2312"
/>好像和coolies没有什么关系吧
则在写cookie时,需要 HttpUtility.UrlEncode("xxxxx")读出cookie时,HttpUtility.UrlDecode()
写 UrlEncode ?
读 UrlDecode ?
NameValueCollection nv = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("GB2312"));
public void databind()
{
try
{
NameValueCollection nv = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("GB2312"));
string proname = nv["ID"];
string sqlstr = "select * from btproduct where productname like'%" + proname + "%'";
}
然后要怎么做呢
NameValueCollection nv = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("GB2312"));
--------------------------------------------------
Request .Cookies [].Value .ToString ();
----------------------------------------------------------
NameValueCollection nv = HttpUtility.ParseQueryString(Request .Cookies [].Value .ToString (), Encoding.GetEncoding("GB2312"));
------------------------------------------------------------
name = Request.Cookies["MyCookie"].ToString();
NameValueCollection nv = HttpUtility.ParseQueryString(Request.Url.Query, System.Text.Encoding.GetEncoding("GB2312"));
name = nv["MyCookie"];
然后我让它输出就是没值,说明错了
问题就是在
NameValueCollection nv = HttpUtility.ParseQueryString(Request .Cookies .Value .ToString (), Encoding.GetEncoding("GB2312"));
然后
name = nv["MyCookie"]; Request .Cookies .Value .ToString {} 把这个东西换上 应该可以。
你看看这个吧
http://www.czbin.cn/NET.COOKIES.CODE.001.php
http://www.uctube.cn/ 用1004天使 密码:1004天使 登录,你就可以看到,出现的乱码
写入用的代码;------------------------------这是页面传值,cookie方法是一样的
Response.Redirect("../corporation/proList.aspx?ID=" + HttpUtility.UrlEncode("数字健康", Encoding.GetEncoding("GB2312")));
-----------------------------------------------------获得传值
NameValueCollection nv = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("GB2312"));
string proname = nv["ID"];
string sqlstr = "select * from btproduct where productname like'%" + proname + "%'";
---------------------------把里面的页面传值 换成cookie 就可以了。
读的时候 Server.UrlDecode 解码;
这样就吗,没有任何问题了