Я пытаюсь создать электронную почту с помощью R, используя пакет RDCOMClient.
Письма в основном состоят из текста HTML, закодированного в UTF-8 (а также некоторых изображений). Проблема, с которой я сталкиваюсь, заключается в том, что, хотя HTML-код полностью кодирует все нужные мне специальные символы, после того, как я сохраню сообщение электронной почты в виде MSG-файла и открою его в Outlook, специальные символы больше не отображаются правильно.
Поэтому, когда я использую функциональность SaveAs в RDCOMClient, что-то идет не так.
Вот минимальный пример моего кода:
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
Я пробовал МНОГО различных подходов, связанных с кодированием.
В моем случае я читаю текст сообщения электронной почты из файла CSV с кодировкой UTF-8. Я попытался поиграться с функцией enc2native (), а также с установкой другой кодировки (используя withr, set.encoding и т. Д.). Кроме того, я также попробовал его на компьютере с настройками французского языка, а также на Mac, но все безуспешно ...
Я понял, что, когда я пытаюсь сделать это только с необработанным предложением без какого-либо кода HMTL, он прекрасно работает:
HTMLdecode('Tout est prêt de votre côté? Faisons une vérification')
Я пытался решить эту проблему в течение последних 2 дней, и я действительно близок к тому, чтобы просто переместить все на Python, потому что в данный момент я очень разочарован в R, однако я не уверен, смогу ли я У меня точно такая же проблема на Python.
Кто-нибудь знает, как это решить?
Заранее большое спасибо!