网页中有个发email的链接,需要调用客户的outlook发送email,链接是这样的:
mailto:zhangweiwei@staff.hexun.com?subject=主题&body=正文 这样就能达到自动把主题和部分正文填到outlook里,但是运行时发现outlook接收的是乱码。我的网页是utf-8编码的,在web.config里面是这样的:
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
似乎是outlook接收的标准是gb2312,转换成这样也不行:
mailto:zhangweiwei@staff.hexun.com?subject=<%=Server.UrlEncode("主题")%>&body=<%=Server.UrlEncode("正文")%>
然后用vs的高级保存选项把这个网页保存为utf-8的编码,问题依旧,看来这个高级保存选项并不能影响它最终的真正编码,把web.config改为:
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
问题就能解决。后来查msdn发现page指令也可以单独指定某页的编码方式:
在页首的<%@ page %>里面增加:ResponseEncoding="gb2312"即可,msdn说page指令也支持RequestEncoding,但用的时候发现page似乎不支持这个指令,莫非msdn搞错了?
PS:
后来单独改了本页的编码以后就可以了,但是发现如果不对其进行Encode那么在IE6里面是正常的,但是Firefox不正常,如果用Encode编码,则两个浏览器都正常。
转载于:https://www.cnblogs.com/vagerent/archive/2007/05/29/763861.html