iso-2022-jp 字符集在 Linux 中的单声道 (亚马逊 AMI)



我正在使用SendGrid通过webhook接收电子邮件。我收到一封格式良好的电子邮件,其中包含一个 HTML 片段,该段以字符集 iso-2022-jp 的形式出现

<meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp">

我看到用户做了什么。他们正在使用 outlook,并在签名中添加了导致此问题的特殊字符。如果我尝试将其处理为 UTF-8,我会按预期收到乱码文本。

我正在使用HTMLAgilityPack来加载电子邮件。

在Windows上,这处理正常,但是在Linux(Amazon AMI(上,我收到

找不到编码 50220 数据。确保已安装并启用了正确的国际代码集程序集

知道我如何让它处理吗?我已经读到我可能能够以某种方式加载 MS Core 字体,但我无法让它在亚马逊 AMI 上工作 (http://mscorefonts2.sourceforge.net/(

有什么想法吗?

我为此放弃了 C#/mono/Linux 组合,并使用 Sendgrid Parse 在 PHP 中实现了一个解决方案

$parsed = new SendgridParse();
$str = mb_convert_encoding($parsed->text, "UTF-8", $parsed->charsets->text);

实际上这在 C#/mono 中修复了它

yum install mono-locale-extras

最新更新