この手の話題はもううんざりしているし、ある種の技術者にとっては当たり前で自明の理というお話だと思いますが、SATOXが3時間ほど悩んだので解決方法をメモ的に記事にしておきます。 たぶん、もっとスマートなやり方とかエスケープしろとかはあるとは思いますが……。 (ちなみに、PHP 5.2.17を使ってます) ■前提と問題点目的としてはPHPソースからMySQLのデータベースにアクセスし、情報の一覧をJSON形式で出力しようと思いました。 で、日本語文字を出力しようとしたところ、「????」と文字化けしてしまったというあるある系の問題が発生。うんざりです。 ひとまず基本的なお話として、データベースもフィールド文字設定もUTF-8に設定しました。 これで面倒な文字化け問題は起きないと思っていたのですが……。 で、まずはUTF-8で保存したPHPソースから、直に日本語を出力して大丈夫なことを確認。