質問: mysqlからデータを取得すると日本語が「??」と表示される phpとmysqlを使い、ブラウザでデータベースの読み書きをするプログラムを作っています。 ローカルで作成しているときは特に問題が無かったのですが、いざサーバマシンにアップしてみると問題が発生するようになりました。 【事象】 1.mysqlからデータを読み込みブラウザに表示すると、日本語のデータのみ「??」と表示される。 2.ブラウザからmysqlへデータの書き込みをしようとすると書き込みが出来ない。 【現時点での切り分け】 1.getでデータを渡しており、受信した方で$_get['hoge']を表示させると正常に表示される。ただし、データをmysqlに格納する際にエラーがでる。 2.英数字の読み書きは問題なし。 3.サーバマシンを直接操作し、コマンドプロンプトからデータを入力すると日本語でも正常に格納される。 【ローカルマシン】 apache2.xx php 4.xx mysql 5.xx 【サーバマシン】 apache 2.2.0 php 5.1.2 mysql 5.0 【設定等】 php、mysqlの両方とも文字コードをsjisに設定しています。 また、metaタグで「charset=shift_jis」と指定しています。 apacheのhttpd.confファイルにおいてiso-8859-1をコメントアウトしましたが改善されませんでした。 mb_convert_encodingを使って文字コードを強制的に(?)sjisにして書き込もうとしてもダメでした。 読み込みも然りです。 色々と試してみましたが全然改善されず困ってます。 どなたかアドバイスをいただけましたらうれしいです。
回答: eucに変換して試してください。