关于连接路径含有汉字空格的问题
页面中的连接,如 <img 中的 src ,或者<a 中的href,由于路径中含有汉字或空格,所以需要编码。采用server.UrlEncode 或 UrlPathEncode 后,空格成了 + 号,http:// 成了http%3a%2f%2f,每次我都要再采用 几次 replace函数,才能得到 http://%xx%xx/%xx%20(空格为%20)%xx 等这样的正确形式,经saucer(思归, MS .NET MVP)指点,可以在web.config中
<system.web>
<globalization requestEncoding="GB2312" responseEncoding="GB2312" uiCulture="zh-CN" culture="zh-CN" fileEncoding="GB2312" />
</system.web>
如此设置,而不必用UrlEncode.
当时问题解决了,后来发现不对。当我把站点发到目标服务器时,所有含汉字的连接都不对,目标机器的machine.config web.config 与测试机完全相同的,环境也是一样的。
只有客户IE中把总是以UTF-8发送连接的选项去掉才正确,但该选项默认是选中的,让每个客户更改设置不太好。况且在测试机就没有这个问题,即无论UTF-8的选项如何,都是正确的。
究竟造成这种问题的根本原因是什么?