wordpressで作成したブログを引越しする際に、ファイル名を日本語でアップロードしていたが為に文字化けしてしまって引越しに苦戦してしまう!なんてことありますよね。文字化けした画像ファイルをしっかり日本語としてダウンロードして、アップロードする方法と、引越し後に日本語ファイル名をアップしても半角の英数字に自動的に置き換えて対処する方法を説明しちゃうぞ!
目次
なぜ日本語でアップする?
そもそもなぜ、日本語でアップしちゃうのでしょうか?周りの日本語でアップしてる人に聞いてみました。
何で日本語でアップしたらダメなのか知らない
1番多かったのが、何で日本語でアップしたらダメなのかを理解していない。アップ出来るし問題ないと理解している人が多かったです。
半角英数にするのが面倒くさい
半角の英数でアップしないと、と言うのは聞いたことがあるけど面倒くさい。名前を付けるのに時間を取られてムダに思う。日本語ファイル名でもアップできるし!
という意見がありました。ごもっともですね(笑)
なぜ、日本語ファイル名じゃダメなのか?
そう、この記事の根源です。
なぜファイル名を日本語でアップしなければいけないのか。説明します。
ここからちょっと難しい話ですよ。結論だけを知りたい方は飛ばしてね!
難しい話しと言いながらもはしょって説明していきます。
文字が化ける理由は、文字コードが違うから!
文字コードとは?
文字コード(もじコード)はコンピュータ上で文字(キャラクタ (コンピュータ))を利用するために各文字に割り当てられるバイト表現。もしくは、バイト表現と文字の対応関係(文字コード体系)のことを指して「文字コード」と呼ぶことも多い。 by wikipedia
さっぱり、意味がわかりませんね(笑)
分かりやすく言うと、元は同じなんだけど、変換機に入れる事によって結果が変わる。
という感じです。
変換機Aを通して生成すると日本語として読める文字になるし、変換機Bを通して生成すると中国語になってします。と言う事です。
でもそれは、漢字だったり中国語だたり、ロシア語だったり…その国々特有の文字部分だけの話しなんです。
つまりは、数字と英字は全世界共通の文字として存在する為、どの文字コードにも英数字は同じ箱に同じ文字が入っているんです。
どの変換機(文字コード)を使っても、半角の英数字は同じ結果が返ってくるんですね♪
ホームページでは、ソースのhead部分に「どの文字コード(変換機)を使いますよ」と指定があるわけです。なので、ブラウザはその指示の通りに、変換機を用意して変換し、ユーザーに表示をするという訳です。
ちなみに今現在、ホームページ上で扱う文字コードで主流なコードはUTF-8(変換機)というものになります。htmlやcssやjavascriptも大抵UTF-8で書かれています。wordpressも同様です。
なので、UTF-8で書いた文字列はUTF-8で出力してあげないと化けてしまう訳なんです。
つまり、FTPでダウンロードする際は文字コードを設定してあげれば正常のファイル名としてダウンロードが出来る!
windows FFFTPの設定
ホストの設定画面(接続する際に作る設定画面)で、「文字コード」タブにある、ファイル名の漢字コードの中にある、UTF-8Nにチェックを入れることで文字化けせずにダウンロードすることができます。
windows winscpの設定
winscpの場合には、ログインする直前(接続先を選択した状態)で、左側メニューの「環境」をクリックし、「ファイル名をUTF-8でエンコード」の右側の項目で「オン」を選択し、接続します。
mac Transmitの設定
macのTransmitの場合には、サーバーに接続した後に、メニューバーの「表示」から一番したにある「テキストエンコーディング」をクリックし、「UTF-8」をクリックすることで、文字化けを解消できます。
上記方法で、とりあえずは文字化けしてしまったファイルを日本語ファイルとしてダウンロードすることができます。
UFT-8を選択するように説明していますが、これはあくまでもwordpressでの話しです。なぜならwordpressの場合は、UTF-8の文字コードでブログやシステムが生成されているからです。
ですが、wordpressではなく、オリジナルで組んだシステムや外部システムがUTF-8ではなくEUCであったり、SHIFT-JISであったりした場合には、それぞれの文字コードに選択しなおす必要があるので注意してください。
そもそも、日本語ファイル名でアップロード出来ないようにすることはできないのか?!
日本語ファイルでアップロードしても半角英数のファイル名にしてくれるプラグイン「File Renaming on upload」があったので入れてみた!
そう。プラグインの名前もそのまんま!「File Renaming on upload」です。
インストールしたら、「設定」→「File Renaming」をクリックします。
全てチェックして、Saveボタンを押して登録ちゃいましょう!
ちなみに各項目の意味は、
Add Site url:ファイル名にサイトアドレスを付けるかどうか。
Remove string parts from site url:サイトのURLから文字列の部分を削除
File renaming based on post title:ファイルは、ポストのタイトルに基づいて、名前の変更します。
Replaces file name by datetime:日時をファイルに付け加える
Lowercase:小文字にする
Remove accents:アクセントを削除する
Remove special chars:特殊文字を削除する( ? + [ ] / = < > : ; , ‘ ” & $ # * ( ) | ~ ` ! { })
これで、日本語でアップロードしても、自動的に半角の英数文字になります。
例えば、ファイル名はこのようになります。「lifeseeds.biz_2016-07-087_19-42-11.gif」
日時秒までファイル名に入るので、絶対にかぶることもないし、安心・安全に管理することが出来ますね。