- ベストアンサー
Head First PHPサンプルコード文字化け
- PHPの本『Head First PHP & MySQL』のサンプルコードが文字化けしている現象について困っています。
- 日本語部分(DBがソースの日本語部分全て)が文字化けしており、表示される予定のデータが正しく表示されません。
- この本は文字化け対策を強みにしているため、実際のサンプルコードが文字化けしているのは不思議な現象です。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- reggaepunc
- ベストアンサー率59% (64/108)
/ch11/final/aliens/index.php にアクセスしたけど、 DBに接続されないお。 接続先のドメインも失効してるお。 sqlファイルも文字化けしてないし。
補足
dbは事前にご自分の環境に構築しないと駄目ですよ その点はどの書籍でも同じです db環境を作って、sqlファイルからデータをインポートして、やっとdbをphp用に使えるようになります
- reggaepunc
- ベストアンサー率59% (64/108)
文字化けしてるのは、具体的にどこのファイル? sqlファイルのことかな? ch02のaliens_abduction.sqlは文字化けしてませんよ。
補足
ファイルを指定して質問すべきでした。反省します。 おっしゃるようにch02は確かに文字化けしていません。ch02のfinal-report.htmlは送信フォームなのでphpやdbとは無関係で、report.phpはhtmlから送信されてくるデータを表示するのでdbのデータは一切、表示に使われていません。ですからch02はこの質問にはあまり関係ないです。 (ch02にはsqlファイルもありますが、あれは表示にはつかわれていないので本件にはあまり関係ありません。) >sqlファイルのことかな? dbのデータを表示すると文字化けするので、sqlファイルは関係のではと怪しんでいるところです。 具体例をあげますと、ch11-finalのindex.phpが、dbからのデータ部分が文字化けします。 (その他ch8とかとにかくdbデータを表示しているサンプルは全体的にですが、ch11の例がindexページ内ですぐにdbからデータをとってきて表示しているのでチェックを掛け易いとおもい、具体例としてあげました。) よろしくお願いします。
- reggaepunc
- ベストアンサー率59% (64/108)
直りました。 こちらはMacなので、 miというテキストエディタでUTF-8で上書き保存すると直りました。 htmlもphpもです。 たぶんこのサンプルファイルをzip圧縮したり違うPC間でファイル受け渡しとかしてる間にどっかで壊れたんでしょうねー。 オライリーにクレーム入れたら直してくれるかも。
補足
回答ありがとうございます。 複数のエディタでUTF-8上書き保存してみましたが駄目でした。そもそもその辺は最初にソースをチェックした時に文字コードチェックもしてたのであまり関係ないはずなのですが。 というか、ソースをエディタで直すのはあくまでブラウザ表示関係ですので、私の直面している症状の根本原因とは少し違うような気がします。reggaepuncさんは、DBから抽出している部分の文字データも?(ハテナや文字化け)ではなく正常表示されているのでしょうか? ちなみに、数件前の別の方の質問(http://oshiete.goo.ne.jp/qa/7455712.html)にも文字化け関係の話がでていて、その方はmysql_set_charset('utf8'); を使って解決してましたが、一応それも試しましたが駄目でした(というか、mySQLの各文字コードは全てUTF8になっているのでソースでmysql_set_charset('utf8');っても改善見込みは初めからないのですが…)。
- reggaepunc
- ベストアンサー率59% (64/108)
ほんとだ。ブラウザでアクセスすると文字化けしてるwww ひどいwww ちょっとまって。調べるから。
お礼
mysqli_set_charset($dbc, "utf8");、確かに効きました。$dbcを第一引数にもってくる必要があったのですね。 ch11のそのページの「誘拐レポートをお願いします!」でレコードを追加するとまた文字化けしますね。そこも同様に修正が必要みたいです。 いずれにしても、無事解決方法は分かりましたので、ありがとうございました。