まず、テーブル単位で文字コードを変更するのは、
alter table [テーブル名] character set utf8;
というたぐいのコマンド。
MySQLでの文字化けの仕組みは、ここに有益な情報が載っておりました。
http://itpro.nikkeibp.co.jp/article/COLUMN/20070614/274802/?P=1&ST=oss
どうやらバージョン4.1から文字化け問題が非常に多くなったらしい。
原因は文字コードの種類が増えたこと、文字コードの自動変換機能などがらしい。
文字コードがサーバーとクライアントで一致すれば自動変換は行わないらしいが、実際のところは、エスケープ処理がはたらくと文字化けが起きる。
そして文字コードの変換機能自体が、一度UCS2を経由して変換されるらしい。
これは文字化けしやすくなるわ。
ってことは、MySQLの文字コードを設定できない場合だと、文字コードをMySQLにあわせてやらないと大変なことになりますね。
2007年9月11日19:46