返回列表 发帖
我试过,输入“一”,地址栏中显示的application/x-www-form-urlencoded MIME字符串只有两段http://www.google.com.hk/search?q=%D2%BB&sourceid=opera&num=%i&ie=utf-8&oe=utf-8而编码看最后是utf-8,要知道utf-8的编码规则是按字符的utf-8码还决定的。上面加粗的那个就是utf-8码,其实就是十六进制。application/x-www-form-urlencoded MIME字符串会把原来的unicode码转成,如4E59转成%4E%59 这样子的。而“一”这个字的utf-8码是:E4B880,不信的可以到这个网址查询:http://bm.kdd.cc/index.asp。而且utf-8是按照码把字符分为一字节、二字节、三字节和四字节。中文应该基本是三字节和四字节的。所以地址栏中的那个码明显是错误的,绝对不可能是“一”这个字的utf-8码,所以出现乱码。
换成百度,同样输入“一”。地址栏:http://www.baidu.com/baidu?tn=ichuner_5_dg&word=
%D2%BB

看到没同样是%D2%BB,但百度并没有出现乱码,再次证明“%D2%BB”这个码不是utf-8码。同样使用这个网站查询编码:http://bm.kdd.cc/index.asp
“一”这个字的GBK码为“D2BB”。终于真相大白。百度和google地址栏中出现的码其实是GBK的编码,不同是百度那个搜索串设置可能就是GBK,而google的搜索串,从红色部分可以看到是utf-8,编码出现冲突。
我把google的搜索串改为
http://www.google.com/search?q=% ... um=%i&ie=gbk&oe=gbk
也就是把utf-8换成gbk。乱码解决。

TOP

返回列表