とりあえず下記を書いておくこと。
$sql = "SET NAMES utf8";
mysql_query($sql);
DBのデフォルトをUTF-8、データベースもテーブルもカラムもUTF-8、PHP側でもUTF-8にエンコードし、全てをUTF-8に変換したとしても、上記を書いておかないとデータバース書き込み時に文字化けが発生する、と。
本当はMySQLの設定で修正するのが正しいんだけど、ローカル設定の出来ないプロバイダとかレンタルサーバーだった場合は、上記で対応するしかないみたいです。