WordPressで構築された、とあるWebサイトのサーバー移転をおこなった時のこと。

旧サーバーからFTPでファイル一式をダウンロードし、新サーバーへFTPでアップロードしたのだが、なぜかファイル名が日本語の画像だけ移転後のサイトで表示されない問題が発生した。

問題の対象となっているファイルは/wp-content/uploads配下のもので、これらは全てWordPressの管理画面からアップロードされたファイルだ。

今回はこの問題の解決法を紹介する。

ファイル名のエンコード

日本語名のファイルをアップロードする時は、FTPクライアントにて文字コードをUTF-8にエンコードしてアップする必要があったのだ。

多くのFTPクライアントはこのエンコード設定が「Auto」になっていることが多く、この設定を変更する必要がある。

上記はWinSCPの設定画面で、UTF-8 encoding for filenamesの項目を「On」にする。

それから日本語名のファイルをアップロードすると、新サーバーで表示されなかった画像が見れるようになった。