日期:2014-05-17  浏览次数:20443 次

url地址转义的问题
有个需求是获取远程页面的内容:
mp3.baidu.com/m?f=ms&tn=baidump3&rf=taste&ct=134217728&lf=&rn=&word=经典老歌&lm=-1&ie=utf-8&pf=tags#1

在我本地(WINDOWS)测的时候没问题,但到了服务器上(Linux),获取的内容就不对了。

然后我试着用urlencode()方法转义了一下其中的中文“经典老歌”:
http://mp3.baidu.com/m?f=ms&tn=baidump3&rf=taste&ct=134217728&lf=&rn=&word=%E7%BB%8F%E5%85%B8%E8%80%81%E6%AD%8C&lm=-1&ie=utf-8&pf=tags#1
这时获取到的内容就是正确的。

这是怎么回事呢??




------解决方案--------------------
中文 window 默认的字符集是 GBK
中文 linux 默认的字符集是 utf-8

这就是问题的所在
------解决方案--------------------
探讨

引用:

中文 window 默认的字符集是 GBK
中文 linux 默认的字符集是 utf-8

这就是问题的所在

不好意思我没太听明白~

我理解的过程是:
脚本在请求一个地址的时候,如果其中有中文,服务器就会自动给转成URL编码格式。

这个转换的过程跟系统是什么字符集有什么关系呢?