WordPressのプラグインContact Form 7で添付ファイルを付けたら日本語ファイル名が文字化けしてしまいました。別にファイルの中身が壊れているわけではないのでこのままでも使えますが客先に渡すには微妙ですよね。。
調べてみたら原因はWP Multibyte Patchを有効化にするとJIS(ISO-2022-JP)エンコーディングで送信するのと、日本語ファイル名をmd5ハッシュ値に変換する処理をしているからみたいです。WP Multibyte Patchを無効化にすると直るみたいです。でも日本語サイトのためWP Multibyte Patchは使いたい・・そんなときこちらで対応できましたのでご参考ください。
目次
添付ファイル日本語名の文字化け対策
1. wpmp-config.phpファイルを作る
プラグインWP Multibyte Patchのwpmp-config-sample-ja.php
ファイルをコピーする。
/wp/wp-content/plugins/wp-multibyte-patch/wpmp-config-sample-ja.php
/wp/wp-content
の直下に置き、wpmp-config.php
に名前を変更する。
/wp/wp-content/wpmp-config.php
2. wpmp-config.phpファイルの中身を修正
58行目あたりJIS
をUTF-8
に変更
$wpmp_conf['mail_mode'] = 'JIS';
↓ ↓ ↓
$wpmp_conf['mail_mode'] = 'UTF-8';
103行目あたりpatch_sanitize_file_name
をfalse
に変更
日本語ファイル名をmd5ハッシュ値に変換する処理を無効にします。
$wpmp_conf['patch_sanitize_file_name'] = true;
↓ ↓ ↓
$wpmp_conf['patch_sanitize_file_name'] = false;
これでとりあえず直りました!ご参考までに。