dポイントプレゼントキャンペーン実施中!

phpMyAdmin上ででテーブルを作成し、データを挿入したところ、
phpMyAdmin上であれば、正常に表示されます。
しかしPHPでセレクト結果を表示したところ、
マルチバイト文字が文字化けします。

次にMySqlCommandLineClientよりデータを挿入し、
PHPでセレクト結果を表示すると文字化けはしません。
しかしphpMyAdmin上で参照すると文字化けしています。

文字設定がさっぱりわかりません....よろしくお願いします。

MySQL 4.1.7

PHP 5.02

phpMyAdmin 2.6.0

A 回答 (3件)

この辺が参考になると思います。



http://oshiete1.goo.ne.jp/kotaeru.php3?q=1061498
http://oshiete1.goo.ne.jp/kotaeru.php3?q=999161

phpMyAdmin は使ったことがありませんが、
どちらかで文字化けをしてどちらかで文字化けをしない場合は、どちらかの文字コードの設定が違うのでしょう。

基本の文字コード設定で直るはずですが、
どうしても直らない場合はPHPから文字設定を変えれば正しく表示されるはずです。
http://jp2.php.net/manual/ja/ref.mbstring.php
    • good
    • 0

失礼します。



PHPの設定をSJISに設定しているなら、MySQL、phpMyAdminの設定もSJISに統一した方が良いと思います。
MySQLはwinmysqladmin.exeからmy.iniで、phpMyAdminはconfig.inc.phpで設定できると思います。

>PHPでセレクト結果を表示すると文字化けはしません。
mbstringの設定でSJISに変換されて表示されているのではないでしょうか?

>しかしphpMyAdmin上で参照すると文字化けしています。
SJIS、EUCデータがUTF-8で表示されているのではないでしょうか?
反対にphpMyAdminでデータ入力すると、php上で文字化けしたりしませんか?


文字の設定ですが、Windows環境であればすべてSJISに統一した方が良いと思います。
LinuxであればEUCに統一した方が良いかと思います。
OSが混在するのであればどちらかの文字コードをソース上で変換し、ひとつの文字コードに統一しておいた方が良いのではないでしょうか?
    • good
    • 0
この回答へのお礼

MySqlnoバージョンを4.0に下げてSJISを設定したところ、
文字化けが直りました。
ありがとうございました。

お礼日時:2004/11/16 17:29

PHP(php.ini)とMysql(my.ini)の文字コード設定は合っていますか?

この回答への補足

PHPの設定は"Shift_JIS"にしています。
MySQLはMySQL Server Instance Config Wizardで
設定するとutf8となります。
これをsjisにしても変化はなく、
MySQLはphpMyAdmin上ではUTF-8 Unicode (utf8)となっています。
本来php、mySQL、phpMyAdminの文字設定はどのようにするものでしょうか。

根本で申し訳ありませんがよろしくお願いします。

補足日時:2004/11/12 10:41
    • good
    • 0

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