よくサーバーにアップされているソースを見たりすると、文字化けされている現象を見かけます。
何となくの理解でしかなかったので、根本的な原因を理解するために記事を書きます。
文字コードという存在
文字化けの原因を知るには、まず「文字コード」を知る必要があります。
Shift_JIS, EUC-JP, UTF-8
よく目にするこれです。
Wikipedia
文字コードとは
文字集合を定義し、その集合の各文字に対応するビット組み合わせを一意に定めたもの
文字化けの原因
文字化けが発生する原因は、「HTMLファイル自体の文字コードと、ブラウザが解釈した文字コードが異なるとき」に発生します。
例えば、Shift_JISで保存されたHTMLファイルを、ブラウザがUTF-8だと認識して、UTF-8で表示してしまうと文字化けが発生するということです。
通常Webブラウザは、サーバーへリクエストを送った後、サーバからHTMLを受け取り、レスポンスヘッダやHTMLを分析した上で、「文字コードはこれだろう」と解釈して、ページを表示します。
HTMLでは、UTF-8で良い
HTMLの文字コードを「Shift_JIS」にしてサーバーに上げると、ソースは文字化けしていると思います。