画像の日本語ファイル名が移設時にうまくいかない

日本語ファイ名文字化け WordPressで手こずった
この記事は約5分で読めます。

WordPressの引っ越し時の画像移行がうまくいかないケース

引っ越ししたのちに、投稿記事の画像が反映されていないことに気づきました。よく見ると、管理画面のメディアライブラリーがグレーの枠だけになっています。

もっとよく見ると、その枠は画像URLがきちんと存在し、URL末尾の画像ファイル名がなんと日本語表記でした。

FTP接続して、uploads/ 画像フォルダの画像を確認すると、一部のファイルが文字化けしていることも確認できました。どうやら、日本語ファイル名でアップろイードした画像のようです。

引っ越し画像が反映されていない原因がわかった

WordPressのメディアに日本語ファイルをアップロードして運用していて、サイトの移設の際に、それが文字化けを起こして表示されなくなってしまうという訳です。

移設時に画像反映されない問題の対策プラグイン

WP Multibyte Patch

WordPress のマルチバイト文字の取り扱いに関する不具合の累積的修正と強化を行うプラグイン。英語圏で作られた WordPress を日本語環境で正しく動作させるために必要となる機能を網羅しているそうです。

WP Multibyte Patch
WordPress 日本語版パッケージのためのマルチバイト機能の拡張。

WP Multibyte Patch の主な機能

下記のように、いろいろと活躍するマルチプラグインなのです。機能説明をそのまま引用して紹介します。<説明ページ

投稿抜粋

「文字数ベース」抜粋の補助機能を提供します。抜粋の最大文字数と more 文字列を設定ファイルより変更できます。

文字列カウント方式の設定

言語設定が ja の場合、デフォルトで文字列カウント方式の設定を「文字数ベース」に固定します。

検索

検索の際に全角スペースを区切り文字として認識させます。また、検索文字列内の重複するスペースを取り除きます。

メール送信

送信メールのエンコーディングを JIS (ISO-2022-JP) 、UTF-8、自動判別の3つのモードから選ぶことができます。WordPress 本体の実装とは異なり、UTF-8 モードではボディ部も base64 エンコード (7bit) します。本機能はデフォルトではオフになっておりますので、ご利用の際は wpmp-config.php を編集して有効化してください。

トラックバック受信

日本語を含む多くのエンコーディングのデータが破壊される問題を修正します。

ピンバック受信

マルチバイト文字で書かれたページからのピンバック処理機能一式 (エンコーディング検出、変換、トリム) を実装します。

ファイル名サニタイズ

マルチバイトを含むファイル名のファイルがアップロード、またはメール添付された場合にファイル名を md5 に変換します

フィード XML サニタイズ

フィードで出力される XML 1.0 で不正となる文字の除去と破損したマルチバイト文字の無害化を行い、検証時のエラーを防ぎます。本機能はデフォルトではオフになっておりますので、ご利用の際は wpmp-config.php を編集して有効化してください。

テーマの WEB フォント無効化機能

一部のブラウザにおいて日本語表示の不具合が起こる問題の対応として、翻訳ファイルの有無に関わらず、以下テーマの Google フォントの読み込みを任意で無効化できる機能を提供します。

Twenty Twelve Twenty Thirteen Twenty Fourteen Twenty Fifteen Twenty Sixteen Twenty Seventeen

管理パネル

  • ダッシュボードの「コメント」、「下書き」の抜粋文字数を設定ファイルより変更できます。
  • 投稿エディタのリンク挿入機能で、既存コンテンツの内部リンクを検索する際のインクリメンタルサーチを2文字から動作させます。
  • 日本語フォントの表示にあわせ、管理パネルのイタリック体を標準に変えます。

BUDDYPRESS 抜粋関数

bp_create_excerpt() でマルチバイト投稿の抜粋が作られない問題を修正します。HTML タグを取り除いた形の文字数ベースの抜粋を生成します。本機能はデフォルトではオフになっておりますので、ご利用の際は wpmp-config.php を編集して有効化してください。

ご注意: Activity の抜粋機能は表示時ではなく Activity データ記録時の実データに適用されます。また、抜粋化されるタイプとされないタイプの投稿があります。これらは BuddyPress の仕様によるものですのでご了承ください。

その他

設定ファイル (wpmp-config.php) から各パッチ機能を個別に有効化・無効化できます。

Phoenix Media Renameでリネーム

このプラグインは、画像ファイル名をリネームすると、一括で投稿記事内のimageタグも自動で変換してくれます。

管理画面のメディア一覧に「Filename」という項目が追加され、自由に変更できます。記事内のリンクを自動で置き換えてくれるので、リンク切れが起こらないのが非常に便利です。

さらに、記事内の挿入画像のファイル名を自動変換してくれるし、一括変換にも対応しています。

Phoenix Media Rename
The Phoenix Media Rename plugin allows you to easily rename (and retitle) your media files, once uploaded.

まとめ

  • 画像ファイルは極力、日本語かなや全角を使用せず、半角英数文字にする
  • WP Multibyte PatchをONにして運用する
  • リネームして対応するならPhoenix Media Renameがおすすめ

コメント

タイトルとURLをコピーしました