プロが教えるわが家の防犯対策術!

PHPを使用してMySQLからデータの読み出しで”?????”文字化けが発生します。
データベースでは問題なく日本語が入っているのですが、表示させたいページでは
mysql_query("SET NAMES , 'utf8'");

<?php echo mb_convert_encoding(SET NAMES ,'UTF-8');?>
としたのですが文字化けのままです。

同じような事例も結構あるようで、いろいろ調べて試して見たいのですが原因がわかりません。
http://netlog.jpn.org/r271-635/2008/05/php_mysql …

よろしくおねがいいたします。

A 回答 (2件)

別の方がされた質問と似ている問題であれば、



http://oshiete.goo.ne.jp/qa/6320887.html

No.2の回答が参考になれば幸いです。

参考URL:http://oshiete.goo.ne.jp/qa/6320887.html
    • good
    • 0
この回答へのお礼

参考URLの回答no.2で無事できました。ありがとうございました。

お礼日時:2012/03/23 00:05

>mysql_query("SET NAMES , 'utf8'");


>と
><?php echo mb_convert_encoding(SET NAMES ,'UTF-8');?>
>としたのですが

何を参照して書かれたのでしょうか?phpとMySQLのバージョンが書かれていませんが、mysql_set_charsetが使える環境であれば、それを使うべきです。

mysql_set_charset('utf8');

http://jp2.php.net/manual/ja/function.mysql-set- …

当然ですが、クライアントの文字セットを正しく指定するのであればmb_convert_encodingを使う必要はありません。

(それが使えない環境で)次善の策としてset namesを書くとしても

mysql_query('set names utf8');

となります。提示されたようにset namesとutf8をカンマで区切る書き方はちょっと見たことがありません(汗

http://dev.mysql.com/doc/refman/5.1/ja/charset-c …


なお「utf8」を指定されていますが、phpスクリプトは間違いなくutf-8で書かれていますでしょうか?これが間違っていたらどうやっても意味がないので。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!