サーバーがUTF-8コードなら
echo -e “\xe3\x83\x87\xe3\x83\xbc\xe3\x82\xbf\xe3\x83\x99\xe3\x83\xbc\xe3\x82\xb9\xe3\x82\xa8\xe3\x83\xa9\xe3\x83\xbc”
で、データベースエラー と表示される。
区 点 JIS SJIS EUC UTF-8 UTF-16 字 05 39 2547 8366 A5C7 E38387 30C7 デ 01 28 213C 815B A1BC E383BC 30FC ー 05 31 253F 835E A5BF E382BF 30BF タ 05 57 2559 8378 A5D9 E38399 30D9 ベ 01 28 213C 815B A1BC E383BC 30FC ー 05 25 2539 8358 A5B9 E382B9 30B9 ス 05 08 2528 8347 A5A8 E382A8 30A8 エ 05 73 2569 8389 A5E9 E383A9 30E9 ラ 01 28 213C 815B A1BC E383BC 30FC ー
UTF-8 の文字コードは最初のバイトで、文字のバイト数を示し、
文字が1バイトの場合 0xxxxxxx で使えるのは7ビットで表現できる文字のみ。
文字が2バイトの場合 110yyyyx 10xxxxxx
文字が3バイトの場合 1110yyyy 10yxxxxx 10xxxxxx
文字が4バイトの場合 11110yyy 10yyxxxx 10xxxxxx 10xxxxxx
文字が5バイトの場合 111110yy 10yyyxxx 10xxxxxx 10xxxxxx 10xxxxxx
文字が6バイトの場合 1111110y 10yyyyxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
※yyyyx…xに右詰めで文字コードを格納する。
各バイトのヘッダービットと文字コード は0ビットで区切られている。
UNICODEではカナや漢字は、上位4ビットが0にならないので、3バイト以上になる。
但し、他国文字の割り当てになっている\、¶(改行文字)、α(アルファ)などが2バイトで、記号類の長さは不定。
今見てみると、EUCっぽいもので良かったと思えるが、WEBのHTMLにはその様な文字コードで書かれたものが沢山あるので、他の文字コードとは区別しやすい(自動判別可能)ことが重要だったに違いない。