UTF-8に設定しても文字化けが直らない?FTPが原因かも。

更新日:

先日、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も疑ってみてください。

 

写真で血圧記録

  • この記事を書いた人

Neby

本を毎日多読しつつ、資産運用、プログラミング、心理学、ネットビジネススキルを猛向上中。貧富の差が広がる5年後、10年後に安心生活を送るためのお金のリテラシー、スキル、資産を一緒に作っていきましょう。

-PHP Laravel入門