mysql_queryの中で日本語が通らない
追記。
mysql_queryで、like '%あ%'とかした。
phpでmysql_fetch_assocと書いたときに
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in
と出る。mysql_queryの返値がfalseだった。
解決
- 内部エンコーディングはutf8
my.cnf内の[mysqld]項に
default-character-set = utf8
skip-character-set-client-handshake
を追記。mysql再起動で正常にdbの中身が取り出せた。
ちなみに、「default-character-set = utf8」を書かないでmysql_queryの直前で
mysql_query("set names utf8");
にしても動作する。どちらにするかはお好みで。
さらに追記。
phpファイルはutf-8Nだったが、試しにeucにしてみたら正しく動かないことを確認。さっきと同じエラーが出た。
徹底的に文字コードは合わせないといけないんだなあ。