lingxing's profile光与影的精灵PhotosBlogListsMore Tools Help
    September 11

    有关mailto的编码问题分析

        这两天在搞一个编码的Bug,搞得头大如斗。
        问题是这样的,一个完整的mailto的link可以这样写<a href="mailto:?to=aaa@microsoft.com;cc=bob@xyz.com&amp;body=HelloWorld">
         Mail
    </a>
        假设body里面用的要用中文的话(其实不管用什么编码,都应该要encode的),一般的做法是用HttpUtility.UrlEncode("中文")。如果是一个UTF-8的网页,这个mailto的link在outlook里面打开就会导致乱码。
        问题的原因很简单,中文版的outlook(中文环境下的outlook)默认是按照gb2312来解码的。而mailto协议本身没有提供指定编码的能力,也就是说,标准的情况下。一个简单的解决方法是直接用gb2312编码,但是对于一个全球性的网站,这样做显然比较困难,而且不是一个完整的解决方案。
        目前还没有好地解决方案,真的麻烦...