現在のバージョンのMySQLでは、UTF-8を完全にはサポートしていない。 というと、そのことを知らなかった人は驚くかも知れない。UTF-8は1文字あたり1〜4バイトのサイズを消費する可変長文字コードなのだが、MySQLのUTF-8では4バイトを消費するようにマッピングされている文字を格納したり、取り扱ったりすることが出来ないのだ。(厳密にいうとUTF-8では6バイトまで定義できることになっているが、文字の割り当ては4バイト目までである。)MySQL 5.xまでで対応しているのは、3バイトにマッピングされた文字までである。 UTF-8はUnicodeの符号化方式の一種なので、基本的に世界各国の言語をUnicodeだけで扱うことができる。日本語に関していえば、4バイト目に割り当てられた文字は第3、第4水準漢字だけなので、3バイト目までしか使えなくても実用上は問題がないように見える。しかし地名