メールフォームで送信内容が文字化けする場合@WordPress - WP Multibyte Patch
多言語(日本語、英語、ハングル、ベトナム語、繁体字、簡体字)対応のWordPressサイトを構築する際にあった不具合と、それを解消するTipsを残しておきます。
2バイト文字対策のプラグイン「WP Multibyte Patch」を有効化しているとハングルや中国語、ベトナム語といった他言語の送信内容が文字化けしました。
MW WP Form(私はここ2年ほどこのプラグインを愛用しています)だと、多言語対応しているプラグインなのでデータベースに蓄積される内容は化けません。
送信内容を送信する際の文字コードの問題でした。
WP Multibyte Patchを有効化していると文字コードが「JIS (ISO-2022-JP) エンコーディング」で送信されるためです。
これを解消するにはWP Multibyte Patchの設定ファイルを作り、設定を変更します。
pluginsフォルダ内のwp-multibyte-patchフォルダ内にある
wpmp-config-sample-ja.php
を
wpmp-config.php
にリネームし、このファイル内の
$wpmp_conf['mail_mode'] = 'JIS'
となっている部分を
$wpmp_conf['mail_mode'] = 'UTF-8'
に変更します。
そして
$wpmp_conf['patch_wp_mail'] = true;
を
$wpmp_conf['patch_wp_mail'] = false;
に変更します。
そして、このwpmp-config.phpをwp-content直下に移動させます。