お客様から「日本語名のファイルをアップロードしようとしたらファイル名が文字化けしてしまった、どうにかならないか」とお問い合わせをいただき対策を行いました。
WP Multibyte Patch プラグインが影響
「WP Multibyte Patch」プラグインを有効化しているため起こった現象でした。「WP Multibyte Patch」プラグインを有効化していると、日本語のファイル名を md5ハッシュ値に変換するためだそうです。正確には文字化けではなく変換されたハッシュ値のようです。
対策
以下の通り、設定変更を行いました。
- wp-content/plugins/wp-multibyte-patch/wpmp-config-sample-ja.php を wp-content にコピーします。
- wp-content にコピーした wpmp-config-sample-ja.php を wpmp-config.php というファイル名に変更します。
1$ mv wp-content/wpmp-config-sample-ja.php wp-content/wpmp-config.php - wpmp-config.php から $wpmp_conf[‘patch_sanitize_file_name’] の行を探し、値を「true」から「false」に変更します。
1$wpmp_conf['patch_sanitize_file_name'] = false;
参考
以下のリンクを参考にさせていただいました。
WordPressで日本語のファイル名をアップロードする方法
Linuxをメインの作業環境としていると「ファイル名は英数字」と固定観念があり全く気づきませんでした。調べてみたところ、立ち上げ時にアップロードしたファイルはすべて英数字になっていました。習慣ってすごいですね。