2023年10月25日 (水)

Power Automate: Office 365 Outlook メール送信(V2)での文字化け

Tipspowerautomate

Power Automate の Office 365 Outlookコネクターのメール送信(V2)を使っていて文字化けに遭遇したので、なぜそれが起きたかの備忘録です。

🎃🦇🧛‍♀️🎃🦇🧛‍♀️🎃🦇🧛‍♀️🎃🦇🧛‍♀️🎃🦇🧛‍♀️

弊社では研修を行っていますが、お客様へ研修の申込などの連絡にところどころ Power Automate による自動メール送信を使っています。が、一部の方から文字化けしているとの連絡が。

普段 Outlook は Outlook on the web か iOS または iPadOSの Outlook を使っているので、気が付かなかったのですが、よくよくデスクトップ版のOutlookで確認すると確かにメールのフォントがおかしい。。。文字化けだから charset だろうということで確認してみると 「charset="gb2312"」となっている。これは簡体字中国語の文字コードです。

20231025_140102

問題を切り分けていくために、改めてメール送信フローを作成して、非常に単純なメールを送信してみます。すると予想通り、「charset="iso-2022-jp"」です。

20231025_134655

では、何が原因なんだろう。

そもそも Office 365 Outlook のメール送信アクションでは charset を指定することはできないため自動生成されるに任せるしかありません。

とにかく、問題を引き起こしているメールに使っているHTMLソースを調べようと、部分的に切り張りしながら確認していくと、、、あれ?? と気が付くことが。

「ハイフン」ですよ、ハイフン。よぉーーーくみると、なんか、変じゃない? 

20231025_142047

ここまでくるとお気づきの方もいると思いますが、そう、「en dash」になってしまっている。

メモ帳かなにかでソースを書いてからコピーしていたはずで、そのタイミングで意図せずハイフンが en dash に変換されてしまったのでしょう。

どうもこれがあると「charset="gb2312"」と中国語判定となってしまうよう。なぜかはわかりませんが、潜在的なバグですね。

この文字以外にも中国語として判定されるケースがあるかもしれませんが、その際にはここに追記していきます。

---------------------------------------------------

そして、研修にこれまで申し込みいただいていた皆さま、不具合を修正しました! しばらく気が付かないままでいてすみませんでした🙇‍♀️

コメント