{{category 仕様}} UTF-8は、Unicodeの符号化方式のひとつです。 Unicodeの符号位置 (大まかに言うと文字に対応) ひとつにつき、1バイトから4バイトまでの長さを取る可変長のコードです。 !!JIS X 0213との関係 現在のUnicodeはJIS X 0213の文字を全て含んでいるため、UTF-8でJIS X 0213の文字全てを符号化することが可能です。 ただし、いくつかの文字はBMP外にあるため、UTF-8では4バイトに対応していることが必要です。BMPの範囲はUTF-8で3バイトまでで表現でき、なおかつ昔はBMPにしか文字が割り当てられていなかったため、UTF-8といっても3バイトまでしか対応していないことがあります。例えばMySQLでは utf8 と指定すると3バイトまでしか対応しません。4バイトに対応するには utf8mb4 と指定する必要があります。 !!コード変換 iconvコマンドでShift_JIS-2004のテキストデータをUTF-8に変換するには次のようにします。SJISからUTF-8に変換するときは常にこの指定を用いるのがおすすめです。 iconv -f SHIFT_JISX0213 -t UTF-8 < sjis.txt > utf8.txt 反対に、UTF-8からShift_JIS-2004にするには下記のようにします。 iconv -f UTF-8 -t SHIFT_JISX0213 < utf8.txt > sjis.txt !!関連項目 * Unicode * [[ISO/IEC 10646]] * UTF-16