高分放送--急求asp.net cookie 中文乱码问题
我在登录页面用cookie 保存了用户名,但是一遇到汉字,登录了就成了乱码,我在网上找了相关的资料,试了结果还是没解决乱码这个问题,请大虾指点几招
我在配置文件中加了如下 :(还是乱码)
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
------解决方案--------------------<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
好像和coolies没有什么关系吧
------解决方案--------------------把编码都改成utf-8吧
------解决方案--------------------如果需要将中文写入cookie
则在写cookie时,需要 HttpUtility.UrlEncode("xxxxx")
读出cookie时,HttpUtility.UrlDecode()
------解决方案--------------------页面 gb2312 ?
写 UrlEncode ?
读 UrlDecode ?
------解决方案--------------------当然会乱码了 。 你必选加上这个
NameValueCollection nv = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("GB2312"));
------解决方案--------------------命名空间 加这个 using System.Collections.Specialized; 再不行 给我发信息。
------解决方案--------------------不是不是的 哪里调用 加在哪里的
------解决方案--------------------HttpUtility.UrlDecode()
------解决方案--------------------例如
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 + "%'";
}
------解决方案--------------------name = nv["MyCookie"];
试试 , 我还不信了。搞不定这个小问题。
------解决方案--------------------呵呵 我帮你写吧。
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"));
------------------------
------解决方案--------------------你慢慢搞, 不要着急。写的时候仔细查一下和你的代码哪里不同,
------解决方案--------------------是的 那个是 页面传值 , 是空的。我已经把它换成 只能把 url 的页面值 换成 cookie
------解决方案--------------------用的时候也要加密。这才能保证中文不乱码, 这些东西对中文支持的不好。
------解决方案--------------------帮顶
------解决方案--------------------编码问题,哈哈
------解决方案--------------------这个和lz有一样的疑惑,不过ls的某个说出接法了