0
メールの本文をUTF-8で取得できません。私のマークダウンレポートはOKで、RStudio
(つまり、本文がUTF-8である)から実行するとスクリプトが動作します。私の問題は、私がコマンドラインからスクリプトを実行すると、私の電子メールメッセージは、私が実際には望まないwindows-1252を使ってエンコードされていることです。RDCOMClientを使用してコンテンツタイプUTF-8を設定する
コンテンツタイプがUTF-8のメールヘッダーを指定するコードを設定するにはどうすればよいですか?
## Bodytext
bodyMail <- paste(__My UTF-8 message goes here__, sep = "")
# init com api
OutApp <- COMCreate("Outlook.Application")
# Create email
outMail = OutApp$CreateItem(0)
# Params
outMail[["InternetCodePage"]] = "65001"
outMail[["To"]] = __your_outlook_email___
outMail[["subject"]] = "Subject_text"
outMail[["BodyFormat"]] = "2"
outMail[["HTMLBody"]] = bodyMail
outMail[["Attachments"]]$Add(__path_to_html_report__)
## send it
outMail$Send()
私は本当に理解していません、私が渡したいテキストは正しいデータです。私ができることをしたいのは、私が上記で作成した電子メールのhtmlヘッダーのエンコーディングを変更することです。現時点では、ウィンドウ1252で立ち往生しています。 私はö:sとä:sのhtmlエンコードを行いましたが、将来の保守には最適ではありません。 Rはそれが賢明に符号化することができます、それは私が見通しとどのように伝えるべきかを知る必要があります。 – ErrantBard
問題は上記のコードではないと思います。私がRに固執している限り、問題なく動作しますから、エンコーディングが失われた/変更されたというcmdが含まれているときです。 äとöを人間が読めない記号で書くのは大したことがないので、この場合は大丈夫かもしれません。しかし、将来、より長いボディテキストを書く必要があるかもしれません。素敵な機能は、それらを人間が読めるようにすることです。 – ErrantBard
すべての拡張文字をHTMLエンコードするのが最適な解決方法です。この方法では何も依存しません。そして、RはUTF-16に変換するときにあなたの文字列のエンコードが何であるかを知ることができますか?あなたが厄介な驚きを望まないなら、そのような変換はあなたの責任です。 –