• 締切済み

php / MySQL で文字化け

XAMPP 1.8.3 (PHP:5.5.11 & MySQL5.6.16)を、手元の2台のPCに同様に 構成したつもりなのですが、 マシンA:日本語表示に問題なし マシンB:DBデータから取り込んだ日本語だけが、???に化ける という状況です。 ・OSバージョン・ブラウザバージョンは同一、 ・PHP設定ファイル:php.ini は、2台のマシンで差異なし(diffで確認済) ・MySQL設定ファイル:my.iniは、2台のマシンで差異なし(diffで確認済) なのですが、他に確認すべき個所はありますでしょうか? マシンBの文字化け状況ですが、 (1)DBテーブルから呼び出した日本語だけが???に化ける (2)その他Webページ上の日本語は問題なし (3)phpMyAdminで当該のテーブルを参照すると、日本語は正常に表示されている 他に確認すべき個所はありますでしょうか?

みんなの回答

  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.2

> (1)DBテーブルから呼び出した日本語だけが???に化ける DB構築時の文字指定と投入したデータの文字コードは一致していますか。 ここにずれがあるような感じですか。 もう一度両マシンでDBの再構築をしてみたらいかがでしょうか。

  • hue2011
  • ベストアンサー率38% (2800/7250)
回答No.1

全然誰も答えないのもいかがなものかとおもいますので、言います。 AのブラウザからBのサーバを身にいき、BのブラウザからAのサーバを見に行ってみましたか。 AのブラウザでAのサーバ、BのブラウザでBのサーバ、も見てみましょう。 文字化けというのは、DBとも開発言語とも関係ありません。 プラットフォームの問題ですから。 ページ中にcharsetがはっきり宣言されているかどうかもチェックすべきことです。

関連するQ&A

  • PHPとMySQLを利用し、文字化けの問題。

    ApacheとPHPとMySQLを使って、ウェブサイトを作成する。 参考書は導入効果バツグン!PHP5.0+MySQL5.0で構築する最速Webシステムです。 この本によって、色々な設定も変更した。(php.iniの設定とhttpd.confの設定とMySQLのファイルでのmy.ini、三つとも更改した。) MySQLにはPHPMyAdminツールを利用して、データをインポートした。 現在PHPのプログラムは作成していたげと、ブラウザで示した時は文字化けという問題があった。PHPのプログラムでcharset=shift_jisも設定した。ちなみにプログラムの中で日本語を使っているので、ブラウザでも正しく示した。PHPMyAdminの中に示したいデータベースとテーブルには全部のエンコードはsjisで設定した 結局どこか間違ったところがあるので、全くわからなかった。 情報をいただければと思います。では、よろしくお願いいたします。

    • 締切済み
    • PHP
  • mySQL 4.0で文字化け

    はじめまして、PHP+mySQLでプログラムを勉強中の初心者です。 PHPからインサートした日本語データをphpmyadminで確認するとデータが化けています。SQL文自体をPHPで表示させると文字化けせずにちゃんと表示されます。  mySQL 4.1以降なら SET NAMESというコマンドをDB接続後に入れることで問題が回避できると言うことですが、mySQL 4.0ではコマンドエラーになってしまいます。 レンタルサーバーなので、PHPのアプリケーション側で対応できたらと考えています。 何かよい方法がないでしょうか? PHP 4.3.11は mySQL 4.0.27です。 PHPのキャラクターはutf-8, mySQLのCharactersetは latin1となっていました。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • Mysqlで文字化けします

    はじめまして、Mysql初心者です。 Mysqlをインストールして簡単なsql命令を実行したのですが、画面に表示される日本語が文字化けします。MyODBCでACSESSからDBを参照したらやはりテーブル内の日本語が化けていました、この程度の情報しかないのですがどなたか教えて下さい、ヒントでも結構です

    • ベストアンサー
    • MySQL
  • PHPとMySQLで文字化けします

    <?php $con=mysql_connect("localhost","oxwar2","chono3"); $db=mysql_select_db("oxwar2",$con); $query="insert into japan(id,title,price)values(1,'絵本',1000)"; $result=mysql_query($query,$con); if($result){ print "OK"; } ?> として、実行すると上手くいきますが、phpMyadminで見ますと、日本語の部分だけが文字化けしております。 これを直すにはどうしたらよいのでしょうか。 文字コードはUTF8で作りました。色々試しても同じです。 どのようにしたらよいのでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • MySQL+PHP文字化け

    PHPからMySQLを使っています。 MySQLもPHPも文字コードはutf8を使っているのですが、PHPMyAdminから入力した日本語を普通に読み出すと文字化けして「??????」になってしまいます。また、自作コードからの日本語のinsertもできません。 しかし、「set character set utf8」を先に実行しておくといずれも上手くいきます。 これは一体どういうことなのでしょうか? そもそも全てutf8で統一しているつもりなのですが、MySQLかクライアントのどちらかで他のコードが使われているということなのでしょうか? MySQLはstatusなどを見てもutf8になっているので、どちらかと言えばクライアントの方が臭うのですが、よくわかりません。 どうか知恵をおかしください。

  • PHP+MySQLの文字化けで悩んでいます

    お世話になります。 Windows Server2003で、XAMPPでPHP+MySQLを利用しようとしていますが 文字化けが解消されず困っています。どなたか、お助けいただけないでしょうか。 他では成功していたSJISを使おうと思っていますがうまくいきません。 my.cnfでの[mysqld]や[mysql]などの設定、およびphp.iniのmbstringなどの設定は、 今まで成功していたWindowsやLinuxと同様に行いました。 PHPによる単純な日本語表示もMySQLモニタ上の日本語は問題ありません。 しかし、MySQLからの結果セットを受け取ると文字化けしてしまいます。 たとえば、 $re=mysql_query("SELECT * FROM tb"); while($kekka=mysql_fetch_array($re)){ print $kekka[0]; } などを実行すると「:?w?Z?カ??:」などの表示になってしまいます。 また、PHPからMySQLでINSERTすると、MySQLでも文字化けしてしまいます。 MySQLモニタで「SHOW VARIABLES LIKE 'char%';」を実行すると次のように表示されます。 character_set_client | sjis character_set_connection | sjis character_set_database | sjis character_set_filesystem | binary character_set_results | sjis character_set_server | sjis character_set_system | utf8 知識がなく、悩んでおります。 まことに申し訳ありませんが、どなたかお助けいただけないでしょうか。 どうか、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • FedoraCore4+php5.0.4+Mysql4.1.11で文字化け

    過去のログを見たのですがばしっとした答えがみつからないので質問します。 旧マシンでfedoracore3+php4.3.11+mysql3.23.58を使っていたました。 新しいマシンにはFedoraCore4+php5.0.4+Mysql4.1.11にしました。 Fedora4にしたのはマシンのドライバの関係です。 旧マシンでのphp+Mysqlのwebシステムをそのまま新マシンに移行したのですがphpのwebページ上で文字化けというか[???]と表示されてしまいます。 mysqlとphpをどうしてもsjisで動かしたいのですが、 どうもいい対策がみつかりません。 ソースではなくrpmから展開していますのでオプション指定もできません。 sjisにしたい理由として ・携帯サイト作りはsjisなので今後もsjisでしたほうがなにかと便利だということ ・旧マシンはsjisでつくっている わたしがおこなったことは php.iniに default_charset =sjis mb関連をsjisに変更 my.cnfは [mysqld] default-character-set = sjis [client] default-character-set = sjis [mysql] default-character-set = sjis としています。 どなたかご教授おねがいします。

    • ベストアンサー
    • MySQL
  • PHPとMySQLについて

    社内サーバーにWebアプリをUPし、 全てデータベース管理にするため、MySQLを使用しました。 参考書を見ながら作成したため、構文に間違いはありません。 参考書は「 はじめての人のためのかんたんPHP + MySQL入門」です。 この参考書の第8章にあるWEBアプリを忠実に再現しました。 しかし、フォームに情報を入力し、登録を押しても情報が反映されません。 以上と同じように、ぶっとびねっと(フリーレンタルサーバー)でもUPし、phpMyAdminでDBを構築しましたが、 これも同じく登録情報が反映されませんでした。 無論、phpMyAdminから直接CREATEし、HPに情報を反映させるのは可能です。 その際、日本語が???となってしまいましたが、その他は正常です。 一番の問題は、なぜHPから情報を入力し、それがDBへ反映されないのかです。 .htpccessやPHP.iniの設定と何か関係があるのでしょうか? 社内サーバーに.htaccessファイルは無いそうです。 となると、php.iniだと思います。 私は初心者のため、イマイチPHP.iniが良く分かりません。 ローカルにApacheなどを落とした場合は、C:Windowsの中にPHP.iniの設定をいじればいいと思いますが、 社内サーバーの場合、サーバー上のどこかにあるPHP.iniファイルの設定を変える必要があるのでしょうか? 以上、ごちゃごちゃしてて申し訳ありませんが、 お助け下さい。

    • ベストアンサー
    • PHP
  • PHP4とMySQL5の連携での文字化け

    質問させていただきます。 以前LinuxにてMySQL3で運用していたデータベースを、 MySQLを5にVerUPしてWinXPのサーバーに移植しました。 その際、有名な不都合だとわかっていますが、 PHPで表示するDBのデータが文字化けしてしまったのです。 MySQLを3に戻して使えるなら良いのですが、 事情があり、どうしても5でなければいけないのです。 その際、PHPのソースには手を付けられません。 MySQLとphp.iniの設定だけで、 どうにか解決する事は出来ないでしょうか? PHPのソースはEUCで書かれています。 出来る限り検索をして、トライしてみたのですが どうしても解決することが出来ませんでした。 SQL文でバックアップがありますので、 データ自体は1から入れなおす事が可能です。 具体的にどこをどう一致させればいいか、 解説してくださる方がいらっしゃいましたら、 どうかお力を貸していただきたく存じます。 宜しくお願いします。

  • phpのソースによって、文字化けしてしまいます

    お世話になっております。 PHPとMySQLを利用しております。php.iniでPHP 、my.cnfでMySQL、それぞれの文字コードを「日本語EUC」に設定し、問題なく動作しております。 ただ、PHPスクリプトのソースコードが日本語EUCでない場合、出力結果が???????のように文字化けしてしまいます。 PHPスクリプトのソースの文字コードが、日本語EUCであっても、シフトJISであっても文字化けしないようにするには、どのように設定したらよいでしょうか。 初心者であり、困っております。 どなたか、お助けいただくことはできますでしょうか。 どうか、よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう