这是我关于StackOverflow的第一个问题,所以如果我在提出这个问题时做错了什么,我欢迎任何关于我应该如何提出它的指示,或者需要任何进一步的信息。
我开发了一个小型ASP.NET / C#站点,它可以生成带有预设主题/正文的mailto-links。但是出于某种原因,我的mailto:-links在Outlook 2003中打开时最终会混淆非标准字母(例如ååö)。在Outlook 2010中它似乎有效。
示例代码(道歉瑞典语):
<a href='mailto:" + emails + "?subject=Inflödning till " + language +
" för jobb nr " + projectID + " är klar. Tidsåtgång: " + time + "'>
Skicka mail till PL?</a>
(请注意,这也发生在没有C#变量的静态链接上)
Outlook 2003邮件窗口中的乱码文本示例:
Inflödning till en för jobb nr 111111 är klar. Tidsåtgång: 1
我在Web.config中指定了UTF-8编码,但我假设这不是问题。我可能必须在主题中指定编码,但我不确定如何做到这一点。
编辑:看起来Outlook 2003很难处理UTF-8邮件支持。请参阅示例this问题。 Outlook 2010在选项下有一个明确的“对mailto协议的UTF-8支持”开关。 2003年失踪了。关于如何解决这个问题的任何想法? UrlEncoding()似乎没有帮助。
答案 0 :(得分:3)
确保您拥有字符编码集
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
应显示在页面顶部 - 将charset=
设置为瑞典语使用的任何字符集(Google让我相信 ISO-8859-1 )
使用似乎使用javascript函数的look here来正确转义字符。我相信后面代码中的HttpUtility.UrlEncode(String)也会产生同样的效果。
outlook是否可能指定了不同的编码?
编辑:
在之前的Outlook版本中 2007版本,Outlook将承担 系统代码页已经习惯了 编码URI。这意味着这一点 场景只适用于旧版本 Outlook的版本,如果是文档 你正在观看的角色相同 编码为您当前的系统 代码页。
这似乎表明系统代码页没有使用瑞典语(ISO-8859-1)的问题,所以对情况的补救措施似乎是: