从百度过来的中文参数成乱码了,如何解决?
从百度过来的中文参数成乱码了,如何解决?
楼主sekone()2006-05-26 11:26:18 在 .NET技术 / ASP.NET 提问 http://www.chaoji.com/ClassInfo.aspx?page=30&type=156&smallname=%E6%B8%B8%E6%88%8F%E5%B7%A5%E5%85%B7&bigname=%E6%B8%B8%E6%88%8F%E5%A8%B1%E4%B9%90
这是从百度搜索连接过来的
我的web.config 编码是设置为gb2312的
我用
System.Web.HttpUtility.UrlDecode(Page.Request.QueryString.ToString(),System.Text.Encoding.Encoding.UTF8)
得到的是乱码
用System.Web.HttpUtility.UrlDecode("%E6%B8%B8%E6%88%8F%E5%B7%A5%E5%85%B7",System.Text.Encoding.Encoding.UTF8)
得到"游戏娱乐" 正常
我把web.config 编码设置为utf-8 都正常
怎么回事,如何解决 问题点数:40、回复次数:7Top
1 楼lazyfish(呆呆虫)回复于 2006-05-26 11:35:07 得分 0
url是gb2312编码的,你用UTF-8当然是乱码了。要用gb2312解码嘛。Top
2 楼shiro(比卡丘)回复于 2006-05-26 11:39:18 得分 0
后面的System.Text.Encoding.Encoding.UTF8不要写Top
3 楼ilovejolly(有些伤感)回复于 2006-05-26 11:39:34 得分 0
markTop
4 楼sekone()回复于 2006-05-26 11:43:44 得分 0
搞什么啊
url是gb2312编码的,你用UTF-8当然是乱码了。要用gb2312解码嘛
====
我改了 ,不行啊
==
后面的System.Text.Encoding.Encoding.UTF8不要写
==============
也不行 啊
我好象每个编码都试过了 都不行 怎么一回事Top
5 楼xiahouwen(武眉博<活靶子.NET>)回复于 2006-05-26 11:55:28 得分 0
baidu是gb2312的urlencode
System.Web.HttpUtility.UrlDecode("%E6%B8%B8%E6%88%8F%E5%B7%A5%E5%85%B7",Encoding.GetEncoding("gb2312))
Top
6 楼xiahouwen(武眉博<活靶子.NET>)回复于 2006-05-26 11:56:48 得分 0
google用的是utf-8
baidu用的是gb2312
比如
%BB%EE%B0%D0%D7%D3
是的结果是 HttpUtility.UrlEncode("活靶子",System.Text.Encoding.GetEncoding("gb2312")的结果
解码用
HttpUtility.UrlDncode("%BB%EE%B0%D0%D7%D3",System.Text.Encoding.GetEncoding("gb2312")
将得到 "活靶子"
utf-8 的同理
Top
7 楼sprc_lcl(cool一生)回复于 2006-05-30 16:32:31 得分 40
string sContent = Request.RawUrl;
sContent = sContent.Substring(sContent.IndexOf("?")+1);
string .Substring(0,zzzz.IndexOf("=")),zzzz.Substring(zzzz.IndexOf("=")+1));
}
string smallname = aList.ToString();
string bigname = aList.ToString();
smallname = System.Web.HttpUtility.UrlDecode(smallname,System.Text.Encoding.GetEncoding("utf-8"));
bigname = System.Web.HttpUtility.UrlDecode(bigname,System.Text.Encoding.GetEncoding("utf-8"));
Response.Write(smallname+"<br>"+bigname);
//游戏工具 游戏娱乐。。。呵呵,有分接就是好^0^Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
