MySQLに文字化けで悩まされる
最初はフツーに日本語が通っていた。
ふと気付くと、MySQLの文字形式の設定(照合順序)がLatinのまんま。
これではいかんと思って、全部UTF-8に変更。
1. my.ini(my.cnf)に追加
[mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8
ダメ!
2. データベースの照合順序、テーブルの照合順序を変更
ダメ!
3. プログラムでアクセスするときに'SET NAMES UTF8'を追加。
ダメ!
うーんなんでだめだろう。phpmyadminでもダメ!
テーブルのフィールドが、'latin-swedish'になっているじゃない
そこをUTF-8に変更して事なきを得た。
そのままバイナリのまま保存してくれた方が、日本語にとっては楽だよな・・・・
怪我の功名で
utf8-bin と utf8-general-ciの違いを知った。
前者が標準のUTF-8
後者はアルファベットの大文字小文字を区別しないらしい。