【问题标题】:UTF-8 encoding for issue with RDCOMClientRDCOMClient 问题的 UTF-8 编码
【发布时间】:2018-10-30 09:17:14
【问题描述】:

我正在尝试使用包 RDCOMClient 使用 R 创建电子邮件。 电子邮件基本上由以 UTF-8 编码的 HTML 文本(以及一些图像)组成。我遇到的问题是,虽然 HTML 对我需要的所有特殊字符进行了完美编码,但在我将电子邮件另存为 .msg 文件并使用 Outlook 打开后,特殊字符不再正确显示。 所以当我使用 RDCOMClient 的 SaveAs 功能时,一定是出了问题。

这是我的代码的一个最小示例:

library(RDCOMClient)
library(textutils)
OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = 'myemail@test.com'
outMail[["subject"]] = 'Dummy subject'
outMail[["HTMLBody"]] <- HTMLdecode('&nbsp;<b>Tout est prêt de votre côté? Faisons une vérification</b> </br>')
outMail$SaveAs(print(paste0(getwd(), '/test', ".msg",collapse="")))

输出电子邮件的正文如下所示:

Tout est pr攼㹡 t de votre cæ∼¼ã¸´t攼㸹?费森 v攼㸹rification

我尝试了很多涉及编码的不同方法。 在我的实际情况中,我正在从 UTF-8 编码的 csv 文件中读取电子邮件正文的文本。我尝试过使用 enc2native() 函数,以及设置不同的编码(使用 withr 和 set.encoding 等)。此外,我还在具有法语设置的计算机和 Mac 上进行了尝试,但都没有运气......

我意识到,当我尝试只使用没有任何 HMTL 代码的原始句子时,它工作得非常好:

HTMLdecode('Tout est prêt de votre côté? Faisons une vérification')

过去 2 天我一直在尝试解决这个问题,我真的很接近将所有内容都迁移到 Python,因为我现在对 R 感到非常沮丧,但是我不确定我是否会在 Python 上也有完全相同的问题。

有人知道如何解决这个问题吗?

提前非常感谢!

【问题讨论】:

  • 您找到答案了吗?我也有同样的问题。

标签: html r utf-8 character-encoding rdcomclient


【解决方案1】:

我找到了!您必须使用编码“latin9”保存您的程序。

【讨论】:

    猜你喜欢
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-12
    • 2017-12-22
    • 2011-11-08
    相关资源
    最近更新 更多