phpのdefault_charsetはUTF-8で
mysql側のdefault-character-setもutf8なのになぜか読み込んだデータが"????"って化ける。
読み込むときに文字コード指定してないから?と思い
SET NAMES utf8
でクエリーを送信したら直った。
でもphpファイルもUTF-8で保存してるのになんで化けるんだろうか。
いろいろ調べてたらSET NAMESは使うな!ということが書いてあった。脆弱性となるらしい↓。
http://blog.ohgaki.net/set_namesa_mcb_asc
なので
mysql_set_charset("utf8");
にした。
SET NAMESって本来はスクリプトで使うんじゃなくてmysqlのコマンドラインで使うコマンドみたい。
あとmysql_set_charset関数はphpのバージョンが古いと使えないみたい。
さらにテーブル、カラムを指定してクエリーを送信する直前に書かないといけないみたい。
そうしないと一つ目のカラムから読み込んだデータだけ文字化けが直らない。
mysql_set_charset("utf8");
$result = mysql_query("SELECT people_01,people_02,people_03 FROM $db_table");
こういうこと。