【发布时间】: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(' <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