日本PHPユーザ会 掲示板

日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。

日本PHPユーザ会 掲示板 » PHP事はじめ » データベースで文字化け

データベースで文字化け

ページ: 1

投稿者 投稿
会員
登録者: 4 2008
返信数: 2
初めて投稿します kyo ともうします。

ローカルに作ったmySQLデータベース(utf-8)を
phpスクリプト(これもutf-8)で読み込んでhtml型式で表示するのですが
日本語部分が全て「?」になって文字化けしてしまいます。

ふつうにテキストとして入力した文はちゃんと出てきているんですが、、、
なにか勘違いしているのかもしれません。

原因おわかりになる方ご教授ください。お願いします。
会員
登録者: 10 2007
返信数: 71
直接の原因ではありませんが、まずはMySQLとPHPのそれぞれについてバージョン、インストールの種類を確認してみて下さい。

PHPスクリプトがUTF-8ということは、internal_encodingがUTF-8ということでいいでしょうか?(phpinfo()で確認できます)
その上で、テキストとして入力した文はちゃんと出力表示されているとなると、もしかしたらPHPとMySQLとでデータを受け渡しする際の文字エンコーディング設定が合っていないかもしれません。
手っ取り早い方法としては、MySQLに接続した直後に
SET NAME utf8;
を実行してみてはどうでしょうか。データを受け渡しする際の文字エンコーディングをこの方法で指定できます。
会員
登録者: 4 2008
返信数: 2
ご返答ありがとうございます。

ご指摘の命令文を加えても変わらなかったので検索してみたら
mysql_query("SET NAMES utf8",$db);

でSQL文で命令しないといけなかったんですね。
これでちゃんと表示されました、ありがとうございます。
会員
登録者: 10 2007
返信数: 71
ごめんなさい、SQL文で、というのを書き忘れてましたね。

ページ: 1

日本PHPユーザ会 掲示板 » PHP事はじめ » データベースで文字化け

日本PHPユーザ会 掲示板 は UseBB 1 フォーラムソフトウェア を使用しています