日本語ファイル名でアップロードした際の文字化けを回避する方法
WP Multibyte Patch プラグインを有効化していると日本語のファイル名をmd5ハッシュ値に変換し、サニタイズ化しているからだそうです。このサニタイズ化を無効化し、日本語のファイル名をそのまま利用するには次のように修正します。
/wp-content/plugins/wp-multibyte-patch/wpmp-config-sample-ja.php を/wp-content/ 直下にコピー。
コピーした、wpmp-config-sample-ja.phpをwpmp-config.phpというファイル名に変更。
wpmp-config.php を編集し、$wpmp_conf[‘patch_sanitize_file_name’] の値をtrueからfalseに変更。
$wpmp_conf[‘patch_wp_mail’] = true;
$wpmp_conf[‘patch_incoming_trackback’] = true;
$wpmp_conf[‘patch_incoming_pingback’] = true;
$wpmp_conf[‘patch_wp_trim_excerpt’] = true;
$wpmp_conf[‘patch_wp_trim_words’] = true;
$wpmp_conf[‘patch_get_comment_excerpt’] = true;
$wpmp_conf[‘patch_dashboard_recent_drafts’] = true;
$wpmp_conf[‘patch_process_search_terms’] = true;
$wpmp_conf[‘patch_admin_custom_css’] = true;
$wpmp_conf[‘patch_wplink_js’] = true;
$wpmp_conf[‘patch_word_count_js’] = true;
$wpmp_conf[‘patch_force_character_count’] = true;
$wpmp_conf[‘patch_force_twentytwelve_open_sans_off’] = true;
$wpmp_conf[‘patch_force_twentythirteen_google_fonts_off’] = false;
$wpmp_conf[‘patch_force_twentyfourteen_google_fonts_off’] = false;
$wpmp_conf[‘patch_force_twentyfifteen_google_fonts_off’] = false;
$wpmp_conf[‘patch_sanitize_file_name’] = false; //ここをTrueからfalseに変更
$wpmp_conf[‘patch_bp_create_excerpt’] = false;
これで日本語のファイル名をアップロードしても文字化けせず表示されるようになります。ただし、ファイルの保存先のファイルシステムの文字コード(簡単にいうとWebサーバのOSの文字コード)がUTF-8ではない場合はファイル名が文字化けしてしまいます。