Integromat の Gmail 文字化けを直したい
Gmail から件名やメール本文を取り出して何かをしたい場合
文字化けして、「ええええー!」ってなりませんか?
メールのヘッダーを見ると
Content-Type: text/plain; charset=”iso-2022-jp”
Content-Transfer-Encoding: 7bit
となっているので、
「UTF-8 ではなく、iso-2022-jp だと文字化けするらしい」
ということまではわかっても、
Integromat の「Tools」にある「Convert the encoding of a text」では変換できないようです。
Gmailのエンコードを行う
PHPファイルを作成して、そこに流します。
- 以下の記述をしたPHPファイルをWEBサーバーに保存。メール本文が長いと、Google Hangout Chat にはじかれたので、省略してあります。
- integromat の「HTTP」にある「Make a request」を使用する。
<?php
$MAXLEN = 1000;
$value = $_POST[‘encode_text’];if (mb_strlen($value)>$MAXLEN) { $postfix=’…’;}
else { $postfix=”;}$text = mb_convert_encoding($_POST[‘encode_text’], ‘UTF-8’, ‘ISO-2022-jp-ms’);
print(mb_substr($text, 0, $MAXLEN).$postfix);
?>
ちなみに、日時は以下のPHPで変換しました。
<php
print(date(‘Y-m-d_H-i-s’, strtotime($_POST[‘encode_time’])));
?>