文字コードとは何か(同じバイトでも解釈表が違うと化ける)
コンピューターは文字を数値(バイト)で記録します。そのとき、「どの数値がどの文字か」を決めた対応表が文字コードです。同じ文章でも、UTF-8とShift_JISでは記録されるバイトの並びが異なります。
文字化けは、あるファイルを「作ったときと違う対応表」で開いたときに起きます。UTF-8で保存された日本語を、Shift_JISの表で読もうとすると、数値の並びが別の文字として解釈され、意味不明な記号の列になります。ファイル自体は壊れていません。正しい表(文字コード)で開き直せば、元どおり読めます。
