WordPressで日本語のファイル名をアップロードする方法

Wordpressにおける日本語ファイル名の変換

WordPressを使ってCMSを構築し、納品した後、メディアファイルでエクセルや、PDFファイルをアップロードした際、「文字化けする!」といわれる事がありました。

英数字で名前を付けてアップロードしてください。というのは簡単ですが、サイトを利用するユーザーからするとダウンロードしたファイルは日本語の方が扱い易いというユーザーも一定数いるはずです。
そういった場合、なんとか対処できないか調査した結果です。

WP Multibyte Patchで日本語ファイル名が文字化け

見だしに文字化けと書きましたが、実は、文字化けしている訳ではなく、「WP Multibyte Patch」プラグインを有効化していると日本語ファイル名をmd5ハッシュ値に変換し、サニタイズ化しているからだそうです。

このサニタイズ化を無効にし、日本語ファイル名をそのまま利用するには以下のように設定します。

  1. /wp-content/plugins/wp-multibyte-patch/wpmp-config-sample-ja.php を/wp-content/ 直下にコピー
  2. コピーした、wpmp-config-sample-ja.phpを wpmp-config.phpというファイル名に変更
  3. wpmp-config.php を編集し、$wpmp_conf[‘patch_sanitize_file_name’] の値をtrueからfalseに変更
/* 機能を個別に有効化、無効化できます。有効化するには 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;

これで日本語ファイル名をアップロードした際に、Wordpress上でも日本語で表示されます。

[参考記時]
[WordPress] WordPressで日本語名のファイルをアップロードする

サーバー移行時に日本語ファイル名の画像がリンク切れになる

私がWordpressのサーバー移行作業を受け持った案件で、なぜか日本語ファイル名だけが404エラーになるという現象がありました。

この場合、Filezillaでの転送設定を「UTF-8強制」にするときちんと表示出きるようになりました。

推測ですが、移行元のサーバーは文字コードがUTF-8で、私はWindowsで作業をしているので、FTPでダウンロードした際、Shift-jisに変換され、新サーバーにはShift-jisの文字コードのファイル名でアップロードされた事が原因だと思います。

Filezillaでファイル名の文字コードをUTF-8に強制する

Filezillaでファイル名の文字コードをUTF-8に強制する

SNSでもご購読できます。

コメントを残す

*