WordPressに書いた記事をそのままHTMLメールで送るという設計をしているサイトがあります。そのメールにいつもよくわからない箇所へ「?」が入るのが気になっていました。

元記事は、こちら。ソースコードは下のようになっています。

どうやら赤枠にあるスペースが原因だと思います。普通のスペースでは無いことが原因で、メール配信の際に文字化けが起こり、「?」に変換されているのでしょう。

クライアントに随時「このスペースを削除してください」というのは酷です。従って、プログラム側で何とかする必要があります。

そこで今回の設計は、

  1. 「公開」ボタンを押すと自動的に件のスペースを通常スペースへ書き換える

という方針にしました。そのコードは以下の通り。

$array の箇所はいくらでも追記出来るので、やりたい事に応じてアレンジして下さい。

これで記事自体から変なコードのスペースは消えました。メールからも「?」が消えて無事解決しました。

参考:https://worklog.be/archives/2108