最近、MySQL4.1以降のサーバを使うことも多くなってきた。
そろそろ本気の本腰を入れて、文字コードについてしっかり把握しておかねばならない。
以前は、MySQL4.1より前のバージョンは、サーバもクライアントも同一の文字コードしか使えなかった。
すなわち、サーバがEUCなら、クライアントもEUCにせざるを得ない。
PHPでスクリプトを書く場合、EUCのほうが楽なので、必然的にこの組み合わせが多かった。
しかし、昨今のWebの場合、AJAXインターフェースも多用するようになってきた。
AJAXの場合、prototype.jsなどを使うのだが、prototype.jsを用いて2バイトコードを受信する場合、原則、utfでなければならない。
utfに対応してるのは、MySQL4.1以降である。AJAXを多用するサイトの場合、DBやHTML、PHP側もUTFにしておくのが結果的に楽である。
MySQL4.1以降で文字コード関係の設定がややこしくなったのは事実だが、サーバとクライアントのコードを統一しておけば、それがEUCだろうと、UTFだろうと、対して問題はない。
しかし、一つのホストに複数のサイトをセットアップかつ、それぞれで文字コードが違う場合、サーバをどう設定すれば良いのだろうか。
my.cnfのdefault-character-setや、init-connectでは、サイト毎というより、サーバ全体の動作を決めてしまい、サイト毎に使用する文字コードを指定できない。
うーん。どうしたらいいんだろうか。ここ、非常に頭が痛い。
ローカルのサーバでテストすりゃ早いんだけれど、環境を作るのも面倒なのよねー
でもこのヘンのノウハウは絶対、みんな知りたいと思うんだけどなー
あとで絶対に、ちゃんと調べる。