我正在使用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核心字体,但我无法让它在Amazon AMI(http://mscorefonts2.sourceforge.net/)上运行
有什么想法吗?
答案 0 :(得分:0)
为此我放弃了C#/ mono / Linux组合,并使用Sendgrid Parse
在PHP中实现了一个解决方案 $parsed = new SendgridParse();
$str = mb_convert_encoding($parsed->text, "UTF-8", $parsed->charsets->text);
答案 1 :(得分:0)
实际上这是用C#/ mono
修复的yum install mono-locale-extras