- ベストアンサー
文字化けが発生する
MySQL4.1をデフォルト設定のまま使っています(UTF-8) phpMyAdminで、UTF-8の2バイト文字を登録し、参照するときちんと表示されるのですが、自分で作ったPHPスクリプトからデータを参照すると、「??????????」と完全に文字が壊れて表示されてしまいます。 PHPでは普通に $query = 'select * from table'; $result = mysql_query($query); while($row = mysql_fetch_array($result){ print_r($row); } とやっています。どこがおかしいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
PHP側も文字列をUTF-8で扱っていますか? EUC等、他の文字コードで表示しようとしているなら化けて当たり前です。 もしそうなら、 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1515271 ↑のNo3の回答(私が回答したもの)を試してみてください。
その他の回答 (1)
- leeeeeeee
- ベストアンサー率0% (0/6)
Etherskyさんが言うように、 ■原因1 PHPファイル自体の文字コードが、UTF-8以外になっている可能性があります。 これは、Dreamweaverの場合、Ctrl+J でファイルの文字コードを設定できます。他のソフトでも、ファイル自体の文字コード操作できるところがあるので探してみてください。 ■原因2 もう一つの可能性として、書き出すhtmlのmetaタグに記述されている、charsetが、間違っているというのがあります。 <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> などになっていると、データベースから読み込んでいるUTF-8の文字列は、文字化けしてしまいます。 なので、これが、 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> になっているか確認してみてください。
お礼
回答ありがとうございます。 うっかりでした。PHPの文字コードのことを忘れていました。ありがとうございます。
お礼
回答ありがとうございます。 うっかりでした。PHPの文字コードのことを忘れていました。ありがとうございます。