画像パスは絶対あってるのに表示されない。

画像URLを直でブラウザに入れると404エラー。

こないだサーバーを引っ越した時にプチハマリしましたorz

結論を言うと、画像のファイルパスがあっているのに表示されない原因は文字コードです。

無事解決に至ったので何をしたかや、そうならないための対策などメモします☆

サーバー上のファイルが文字化けしていた

引っ越し元のサーバーから画像ファイルをダウンロードしようとすると、文字化けが。

ダウンロードできない訳じゃないけど、このままダウンロードすると、

ってな感じでファイル名が文字化けしたままで、これをアップしてもファイル名が違うから画像が表示されない><

FTPソフトで接続する時の文字コードが選べる

調べてみると、FTPソフトの設定で接続する時の文字コードを選べるみたい。

わたしはFileZillaを使っているんだけど、

いつもの画面にある「文字コード」をクリックして、

この「UTF-8を強制」にチェックして「接続」すると文字化けが収まりました。

でも引っ越し先のサーバーでは画像が表示されない

文字化けを直した画像ファイルを、そのまま引っ越し先のサーバーへアップすると、404エラーに(ノД`)・゜・。

↓こんな感じ。

ファイル名が日本語の画像ファイルが表示されない。

ファイル名が日本語なのがいけないのかというと、引っ越す前のWordPressではこの日本語の状態で普通に表示されていたんだよね。

だから、“日本語だから表示されない”というわけではないはず。

となると怪しいのはやはり文字コード。

「UTF-8」でアップロードし直す

引っ越し先のサーバーへ接続する時も、ダウンロードした時と同じように文字コードを「UTF-8」で接続してみました。

それでアップロードすると・・・。

ビンゴ!

画像の404エラーは解消され、無事に表示されたとさ。

念のため注意

FileZillaの場合だけど、文字コードを「UTF-8を強制」にしたのはソフトを閉じても保存されるみたいです。

次立ち上げた時も「UTF-8を強制」になっているので、これは戻しといた方がいいんじゃないかな?

あんまり詳しくないけど、これ以上文字コードでややこしくなりたくないorz

学んだこと

画像にも文字コードがあるんだなね。

.phpファイルとはよくテキストエディタで「文字コード指定保存」とかやってたから馴染み合ったけど。

文字コードが違うと、名前も全く同じが2つ存在しているようにも見える(;゚Д゚)

こうならないための対処法

ファイル名を日本語にしないように。

「表示されるからいいや」とか思って油断してると、後々苦労する可能性が。

いちいち英数字に直すのが面倒だって?

WordPressなら、「WP Multibyte Patch」を使うとこの問題は解消されるのでおすすめです。

WP Multibyte Patchっていうと、昔は必須プラグインとして日本語のWordPressにはデフォルトで入ってたんだけどね。

以前にWP Multibyte Patchが必要か?っていう記事を書いたので、まだ時間があれば見てみてください(*´ω`*)

あとがき

画像ファイルを日本語のまま使うなんて、って思ったかも知れない。

でもこれわたしのサイトじゃなくてさ。

父親のブログで(笑

ずっとfc2ブログ使ってたみたいなんだけど、月額300円がどうのこうのってうるさかったから、独自ドメインでWordPressをおススメして。

サーバーはコアサーバーで容量余裕だったから共存って感じで。

そしたら、撮った写真を日本語ファイル名のままアップしまくっていた(汗

しかも WP Multibyte Patch は停止されてるし・・・。

自分では当たり前のことでも、他の人はそうと限らないから、しっかり説明するのはとても大事だと思いました(*‘∀‘)