URL中的乱码问题
真实的链接是:
http://192.168.1.118:90/search_d/1/%e4%ba%94%e8%8a%b1%e8%82%89
右击属性得到的链接却是:
http://192.168.1.118:90/search_d/1/五花肉
通过document.links得到的链接的href也是乱码
这是怎么回事?如何解决。
IE6下才有这个问题,IE7以及Firefox都正常
------解决方案--------------------在IE6的设置里面“高级”标签中,把最后一项“总是以UTF8传送地址”的勾选去掉看看。
------解决方案--------------------用别人IE6试试,有可能是你自己IE6设置有问题
------解决方案--------------------呵呵,忘了发地址了
http://blog.csdn.net/xiaoyjy/archive/2005/10/22/513467.aspx
------解决方案--------------------第一句翻译过来是“五花肉”,只是转成了unicode编码
第二句不知道是什么,看起来很象JS的UNICODE码,可惜好象不是,按照JS的弄过来是五花肉这么个东西
这种URL不只是客户端的部分,和有些服务器也有关的
比如百度上就是GB码,所以百度是中文搜索,而GOOGLE则是UNICODE。
------解决方案--------------------把web.config里改为
requestEncoding= "gb2312 "
responseEncoding= "gb2312 "
传汉字就没问题了
------解决方案--------------------csdn上的你说的那两个链接没有问题,我在IE6里看到是
http://download.csdn.net/sort/tag/%e6%ba%90%e7%a0%81
http://download.csdn.net/sort/tag/%e6%8e%a7%e4%bb%b6
初步怀疑是你自己浏览器的问题
------解决方案--------------------javascript把这个字符串解释为unicode版本的,高版本的javascript都是这么干的
所以这里就出错了%e6并不是正确的unicode字符
应该改成这样%u4E94%u82B1%u8089
------解决方案--------------------没办法,原来的urlencode方法就是把url处理一下,和escape的处理方法不一样,标准不同,解决不了,或着你自己写段javascript重解析一下