ローカルの環境(XAMPP)で動作していたPHPのプログラムを
レンタルサーバにアップロードして動作させたところ、
日本語データが全て、"???????"と表示されしまいます。
mysqli_select_db($conn, "p13ns4_006_server_cans");
mysqli_set_charset('utf8');
と、mysqli_set_charset('utf8'); は、入れてあります。
何か、考えられる事あるでしょうか?
ローカル環境では問題なく表示されていましたか?
はい。ローカル環境では問題なく表示されていました。
mysqlのテーブルの文字コードはどうなっているかとPHPとMysqlのバージョンがわかれば追記してください
mysqlのテーブルの文字コードは、utf8です。
レンタルサーバのPHPのバージョンは、5.6.15
mysqlのバージョンは、5.1.73-5.el6_6です。
ファイルは「utf-8」形式で保存されていますか?
はい。レンタルサーバのphpMyAdminで確認しても、テーブルはutf8と表示されています。
PHPMyAdminでデータを表示すると文字化けしますか?
いえ。PHPMyAdminで見るとデータは正常に表示されています。
1件、気になる点があるのですが、サーバのPHP.iniの情報を教えて頂いたのですが、そこに、mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = on
mbstring.detect_order = auto
mbstring.substitute_character = none
mbstring.func_overload = 0
の情報がないのですが、これは問題ないでしょうか?
うーん、多分問題にならないと思いますが、それぞれ記載が無い場合のデフォルト値を調べてみて、異なるようならini_set()や.htaccessで指定するという手がありますね。
上記のiniファイルの設定項目が、デフォルトと異なっていたようなので、ini_set()で、全ての項目を設定しましたが、結果は同じでした。
困ってしまいました。
回答2件
あなたの回答
tips
プレビュー