先日、Xサーバーに自作のHTMLファイルをアップロードしたところ、
日本語が文字化けしてしまいました。
すでにあなたもご存知かもしれませんが、基本的に文字化けは
- <meta http-equiv="content-type" charset="utf-8">というコードをヘッダーに入れる
- テキストエディタ自体の文字コードをutf-8に設定して保存する
この2つをやれば、解消します。
っていう場合は、それ、たぶん、FTPソフト自体に問題があります。
UTF-8にしてるのに文字化けが直らないはFTPソフトかも
実は私、以前は、CoreFTPというFTPソフトを使っていました。
このFTPソフトでHTMLファイルをレンタルサーバー(Xサーバー)にアップロードしたところ、何をどうしても、文字化けが直りませんでした。
というのも、このソフト、編集→Encodingという項目を見ると、
ANSI と unicode という2つの項目だけが表示されてます。
つまり、ファイル自体がUTF-8でも、アップロードする時に、勝手にANSIかunicodeに変更されてしまう仕様になっていたんです(がーん)。
というわけで、もし、UTF-8に設定してるのに文字化けが直らないって場合は、
FTPソフトのencodingを調べてみて、怪しかったら別のFTPソフトに変えてみるのが吉です。
ちなみに、自分は、WinSCPというFTPソフトに変えました。
今までは暗号なしのFTPだったんですが、
これからは、SFTPという暗号通信を使って接続もできるようになり、FTP自体がより安全な接続ができるようになりました。FTPって本当に安全なのか?って不安がありましたが、これで安心です。
そして、UTF-8の文字化けもしなくなりました。
FTP変えても文字化けするなら、テキストエディタが原因かも?
FTPソフト変えても文字化けするなら、テキストエディタ自体がちゃんと文字コード変更出来てない可能性もありますね。
例えば、TeraPadなら、ファイル→文字/改行コード指定保存から変更できます。
UTF-8にして、上書き保存すればOKです。(ちなみに文字コードはWindowsだとCR+LFです。MacとLinux(サーバー)だとLFが通常使われてます。)
もしくはVScodeなら、画面下に文字コードが出てるので、UTF-8以外になってる場合は、
画面下の文字コードをクリックします。そしてSave with Encodingを選びます。
すると、文字コード一覧が出るので、UTF-8 utf8 を選んでください。
文字コードがUTF-8に変わりました。これで閉じればOKです。
HTMLに文字コード指定も忘れずに
画像のように、head部分に、
<meta http-equiv="content-type" charset="utf-8">
も必ず入れときましょう。
これで、ブラウザにutf-8使ってるよと知らせる事ができますので。
というわけで、文字化けで困ってましたら、FTPも疑ってみてください。