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