【WordPress4.6.1】画像アップロード時のタイトルの文字化け対策

  • このエントリーをはてなブックマークに追加

2016年の9月ごろにに入ってワードプレスを自動更新したところ、
画像のファイル名が日本語の場合に文字化けするようになってしまいました。
ワードプレスロゴ

画像アップロード時のタイトル文字化け具体例

具体的にはこんな感じに↓

ファイル名:ワードプレスロゴ.png

という名前でローカルに保存したファイルをWordpressのメディアライブラリーにアップロードすると

画像タイトル:%e3%83%af%e3%83%bc%e3%83%89%e3%83%97%e3%83%ac%e3%82%b9%e3%83%ad%e3%82%b4

とサニタイズされてしまう仕様になってしまったようです。

サニタイズとは?

サニタイジングとは、テキストデータ上の「&」や「>」など特殊文字を一般的な文字列に変換する処理のことである。 サニタイジング(sanitizing)はもともと「消毒する」「無害化する」などの意味を持つ英語である。

参照:Weblio辞書

画像アップロード時のタイトル文字化けの原因と対策

これはWordpress4.6.1になって仕様変更があったようです。
具体的にはWordpressの
public_html > wp-admin > includes > media.php
のタイトルが

$title = sanitize_title( $basename );

となっているのが原因です。
アップロードした画像のタイトルを手動で1つ1つ修正しても解決できますが、
アップロードする画像の数が多いと非常に面倒です。

私のように今すぐ解決したい方は

$title = sanitize_title( $basename );

の部分を

$title = $basename;

と書き換えれば日本語名の画像をアップロードしても
文字化けしなくなります。

勿論言うまでもないですが、
Wordpresの本体を書き換えるのでバックアップを取ってから自己責任で行ってください。

ちなみに次のバージョン4.6.2で修正されるようですので
お急ぎの方以外は時間が解決してくれそうです。

ブログをアップし続けていると、過去にアップロードした画像を名前で検索する機会も多く、
サニタイズされてしまうと日本語で画像をメディアライブラリで検索しても
ヒットしなくなってしまい困ります。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*