百度,google编码转换问题!

时间:2022-09-07 12:27:47
现在做一个网站流量计数器,发现以下问题:
我在提取来源页面地址,发现google过来的关键字存放数据库时编码不正常,而百度过来的是正常的。
例如从百度过来的:http://www.baidu.com/s?wd=%C4%E3%BA%C3&cl=3
     关键字:%C4%E3%BA%C3 解码后存放数据库:你好 这个是正常的 
    而Google过来的:http://www.google.cn/search?complete=1&hl=zh-CN&q=%E4%BD%A0%E5%A5%BD&meta=  关键字:%E4%BD%A0%E5%A5%BD 
存放数据库就是乱码。
我知道google是采用utf-8格式编码的,百度应该是gb2312的,我在webconfig里设置的格式是GB2312,后来我把webconfig 编码格式改成为utf-8结果就相反了, google上的又能正确转换了,而百度上的就不行了。 请问各位大哥,有什么方法帮小弟解决这个问题吗?谢谢啦

7 个解决方案

#1


你获取路径的时候先把路径编码成你想要的编码方式
然后再获取关键字  HttpUtility.UrlEncode(路径,System.Text.Encoding.GetEncoding("gb2312")

#2


Request.Params["keyWord"].ToString()
在这个时候已经被解码了没办法用
HttpUtility.UrlEncode(Request.Params["keyWord"].ToString(),System.Text.Encoding.GetEncoding("gb2312")

#3


自己顶一下

#4


谁会啊,帮帮忙!

#5


没做过
友情UP

#6


System.Collections.Specialized.NameValueCollection requestUrl = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("gb2312"));
String baiduKeyword = requestUrl["keyword"];

或者
Response.ContentEncoding 先使用GB2312,获取后再转回UTF-8 

#7


标记一下,我要学习!

#1


你获取路径的时候先把路径编码成你想要的编码方式
然后再获取关键字  HttpUtility.UrlEncode(路径,System.Text.Encoding.GetEncoding("gb2312")

#2


Request.Params["keyWord"].ToString()
在这个时候已经被解码了没办法用
HttpUtility.UrlEncode(Request.Params["keyWord"].ToString(),System.Text.Encoding.GetEncoding("gb2312")

#3


自己顶一下

#4


谁会啊,帮帮忙!

#5


没做过
友情UP

#6


System.Collections.Specialized.NameValueCollection requestUrl = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("gb2312"));
String baiduKeyword = requestUrl["keyword"];

或者
Response.ContentEncoding 先使用GB2312,获取后再转回UTF-8 

#7


标记一下,我要学习!