MySQLやっと解決!

現在MySQL4.1.18を使用しています。
ずっと問題になっていたのはテーブルに登録した日本語のデータが?になること。
俗に言う文字化けというやつです。
たいていは文字コードの問題ということで調べればすぐに分かる問題だと思っていました。調べた結果、my.iniのdefault-character-setをujis(EUC-JP)にすると大丈夫とのこと。

設定後、確認してみました。

> SHOW VARIABLES LIKE 'char%'

Variable_name Value
character_set_client ujis
character_set_connection ujis
character_set_database ujis
character_set_results ujis
character_set_server ujis

あってるけど、まだ文字化け・・・
数時間経過してふと気づきました。実際使っているデータベースはどうなっているんだろう?(さっき実行したものはログイン後のDB(おそらくmysql))

> use xxxxxx

> SHOW VARIAVLES LIKE 'char%'

Variable_name Value
character_set_client ujis
character_set_connection ujis
character_set_database latin1
character_set_results ujis
character_set_server ujis

おふ・・・
DB自体がlatin1ではないか・・・ということでDBを作り直し。
結果、問題なく日本語が出せるようになりました。
MySQL悪く言ってごめんなさい。

ちなみに、ここまでくるにあたって友人に調べてもらったサイトがすごく役に立ちました。どうやら4.0以下と4.1以上の間には壁があるらしく今までとは動作が違うらしいです。4.1系はpre5.0だ。みたいなことが書かれていました。

MyNA Web Site