FTP操作/FTPソフト

エックスサーバーで日本語名の画像ファイルを表示させる方法はFileZillaでUTF8強制アップロード

この記事は約4分で読めます。

FileZillaでUTF8強制アップロードさくらインターネットからエックスサーバーにワードプレスを移転したさいに、ファイル名が日本語だったことで表示できない画像が発生しました。該当する画像ファイルは2000ほどあり、FFFTPでアップロードしておきました。しかし、あるはず(存在しているはず)の画像ファイルは「404エラー」となり存在しないことになっています。これには困りました。原因は画像ファイルがUTF8形式になっていないことで、サーバー上では扱えないファイル形式になってしまっていることです。
この解決策は、画像を「UTF8強制アップロード」することでした。そのさいに使うFTPソフトは「FileZilla(ファイルジラ)」です。備忘録として残しておきます。

エックスサーバーで日本語ファイル名の画像を表示する方法

FTPソフトはFileZilla(ファイルジラ)を使います

日本語名の画像ファイルをFFFTPでアップロードすると、自動的にバイナリ転送するのでファイル名がUTF8にはならないようです。

そこで、FTPソフトには「FileZilla」を使います。

FileZilla - The free FTP solution
FileZilla - The free FTP solution for both client and server. Filezilla is open source software distributed free of charge.

▼上記ページを日本語訳した表示

上記の画面から左にある「FileZillaクライアント」のほうをダウンロードしてPCにインストールします。インストールするさいに「オペラ」の同時インストールを求める画面が表示されましたが、不要なら拒否しましょう。

以前、「FileZilla」を使ったことがありますが、最近はFFFTPばかり使っていましたのでかなり久しぶりです。画面の印象もかなり変わっていました。

FileZillaのサイトマネージャーで文字コードをUTF8強制にします

「FileZilla」の設定は「サイトマネージャー」で行います。一般のところはFTP接続情報などを記入しますが、文字コードというタブに「UTF-8を強制」という選択肢があるのでこれを使います。

この設定をすることによって、ファイル名をUTF-8の文字コードとして無理やり(笑)扱っているという荒業のようです。

この「UTF8強制アップロード」という機能はFFFTPにはありません。他のFTPソフトでも見たことがないので、「FileZilla」のみの機能かもしれません。「FileZilla」を使う大きな特徴になるかもしれませんね。

FileZillaで画像をアップロードします

準備ができたら、「FileZilla」を使い画像をアップロードします。

日本語名の画像ファイルも無事にアップロードできました。

この結果、エックスサーバーで日本語の画像ファイルを読み込むことができました。よかったです。

例えばこのファイルは日本語ファイルです。

https://www.dm2.co.jp/どもども日本語での画像ファイル名だよ.jpg

これまでだと404エラーで存在しないことになっていましたが、UTF8という文字コードで強制的にアップロードすると表示できました。

PCでは問題なく表示できる画像だったのですが、FTPでの文字コード設定によるアップロード方法の違いで、閲覧できるかどうかがわかれてしまうというのは盲点でした。とにかく、解決してよかったです。

うまくいかなかった処理方法も紹介しておきます

「FileZilla」で強制的に文字コードをUTF8でアップロードするという方法にたどり着くまでにいくつかの試行錯誤をしました。以下は、今回うまくいかなかった事例です。

PHPでmbstringをonにしてもだめでした

エックスサーバーのPHP設定で「mbstring」を「on」にするとUTF8が操作できるようになるという情報があったので設定を変更してみました。初期設定は「off」なので「on」に変更して設定を保存してみました。しかし、この方法では解決しませんでした。

「WP Multibyte Patch」というワードプレスのプラグイン

「WP Multibyte Patch」というプラグインを使うと、ワードプレスで日本語ファイル名の操作ができるようになるようです。

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

日本人のエンジニアさんが開発したプラグインのようで定評があります。これから日本語名の画像ファイルをアップロードして管理する場合には有効かもしれません。

しかし、今回は過去のファイルを操作するということなので、このプラグインの効果はありませんでした。

ファイル名は日本語を使わないようにしましょう

今回の教訓ですが、あらためて「日本語名」は使わないということですね。

画像ファイル名やPDFのファイル名、またURLのパーマリンク名など、日本語でも表示が可能になっています。一見、便利なようですがそのことが問題を大きくしています。

そのときはうまくいっていたとしても、あとあと問題になることが往々にして起きています。

今回は、サーバー移転でその問題が表面化しました。

WEB利用するファイル名は日本語禁止にしましょう。