最近まで、はてなブログでメモのようなブログを書いていましたが、こちらのサイトに統合することになりました。
今回は、Wordpress多言語対応サイトでのフォームからメール送信した際に起こった文字化けのお話です。
Contents
フォームから送信したベトナム語のメールが文字化け・・・
今回はWordpressで一部多言語化したページに設置したベトナム語のフォームから送信した際に、受信すると文字化けしてしまうといった症状でした。
WordPressで多言語対応の方法は色々ありますが、ひょっとしたらマルチサイトで言語ごとに設定をしていれば今回の件は起こらなかったのかもしれません。※試していないのでわかりませんが。
ブラウザの言語設定を変えたり、検索して色々調べてみたもののなかなか解決せず。。ようやく私の症状解決にたどり着けた方法がありましたので、今後のためにもメモしておきます。
参照させて頂いた記事はこちら
https://showjinx.hatenablog.com/entry/wp-multibyte-patch-jis
原因はこのプラグイン・・・
WordPressを制作する際にプラグインは色々と使うかと思いますが、基本的に毎回いれるものに「WP Multibyte Patch」というものがあります。※こちらで詳しく解説されてます。
WordPressを使うなら最初に「WP Multibyte Patch」を有効にしよう!
https://masatoshihanai.com/wp-multibyte-patch/
このプラグインがフォームから送信する際に、文字コードを「JIS (ISO-2022-JP) エンコーディング」でしてしまうからのようでした。
原因がわかったからには早速やってみましょう。
解決に向けて・・・
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直下に移動させれば完了です。
私の場合はこの方法でベトナム語の文字化けはなくなりました。
この作業をやるにあたっては必ずバックアップをとってから行なってください。
またプラグインのアップデート時には気をつけないとですね。ではまた!