文字コードの基本と、文字化けの原因・対処法を初心者向けにまとめました。
コンピュータは文字をそのまま扱えず、すべて数値(バイト)で記録します。「どの文字をどの数値で表すか」を決めた対応表が文字コードです。同じ「あ」でも、文字コードが違えば記録されるバイトが変わります。
世界中の文字を1つの体系で扱える国際規格です。半角英数字は1バイト、日本語の全角文字は主に3バイトで表されます。現在のWebページやメールの主流で、迷ったらUTF-8が基本です。
日本語向けに古くから使われてきた文字コードで、全角文字は2バイトです。Windowsのメモ帳やExcelのCSVで今も見かけます。
1文字を主に2バイトで表す方式です。一部のシステム内部で使われます。
EUC-JPは主にUNIX系で、JIS(ISO-2022-JP)は主にメールで使われてきた日本語の文字コードです。
「文字数」は文字の個数、「バイト数」はその文字を記録するのに必要なデータ量です。全角1文字はUTF-8で3バイト、Shift-JISで2バイトなので、同じ文章でも文字コードによってバイト数は変わります。実際の値はバイト数計算ツールで確認できます。
文字化けは、保存したときの文字コードと、開いたときに想定された文字コードが食い違うと起こります。例えばUTF-8で保存したファイルをShift-JISとして開くと、バイトの解釈がずれて「譁�蟄怜喧」のような表示になります。対処法は、正しい文字コードを指定して開き直すこと。Webページなら文字コード指定(meta charset)を確認します。
特別な理由がなければUTF-8が無難です。Web・メール・多くのアプリで標準になっています。
ExcelはCSVをShift-JISとして開くことがあります。UTF-8で作ったCSVは「BOM付きUTF-8」で保存するか、Excelのデータ取り込み機能で文字コードを指定すると直ります。