少し前から多言語サイトを取り扱うことが多くなりました。
基本的にWordPressやMovableTypeでサイトを構築することが多いのですが今回はWordpressでMW WP FORMでメールフォームを設定した際にあった不具合と、
解決方法を備忘録のため残しておきます。
2バイト文字対策のプラグインである「WP Multibyte Patch」を有効化しているとハングルや中国語、ベトナム語といった他言語の送信内容が文字化けしました。
テストをすると全く読めないもじで受信します。これじゃ翻訳した意味ないじゃん…となる
基本的にMW WP Formは多言語対応しているプラグインのようで、データベース上に蓄積している内容は化けていませんでした。
では何が問題化といいますと、結局は送信内容を送信する際の文字コードの問題でした…(あれまー)。
「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直下に移動させてください。
これをアップロードして、もう一度メールフォームのテストを行ってみてください!
解決していることでしょう~♪