玉木の暇つぶし

更新不定期の暇つぶし
某岡田君と更新回数の少なさを競うブログ

続 MySQL GUIクライアントの文字コード問題再燃・・・

2007-06-20 01:15:23 | IT

 昨日記事に書いた、Window用MySQLクライアント(MySQL Query BrowserやCSE)でクライアント側の文字コードを設定しても文字化けする、と言う問題ですが、単純に自分のボーンヘッドでした・・・

 というもの、元々データベースへデータを挿入する時点で文字コードをミスっていました。ただ、 今回は例のlatin1でもUTF-8がそれなりに扱えてしまうlatin1マジックにはまってしまい、 文字コードの設定をデータ挿入時にミスっていることに気づきませんでした・・・

 そうです、MySQL標準付属のクライアントでデータを確認して、「ちゃんとデータは言ってるじゃーん!」 とのたまっていたわけです(笑)。しかし、PHPからMySQLにアクセスしても文字化けすることが判明し、 ようやく大本の問題に気づくことができました。

 で、ちゃんとデータ挿入時に実行されていなかったクエリ(プログラムのバグ・・・)

  set names utf8

 を実行するようにしたところ、Window用のMySQLクライアントでもちゃんと表示されるようになりました・・・

 メデタシメデタシ・・・というかおそるべしlatin1マジック・・・。 latin1のテーブルにUTF-8を入れてもちゃんと入っているように見えるだけでなく、 UTF-8のテーブルにUTF-8をlatin1で入れてもちゃんと入っているように見えるのね・・・

 よい教訓になりました。