初めて質問させていただきます。
MySQLやPHPの学習を初めてまだ3ケ月の初心者ですがよろしくお願いします。
会社で今回PHPを利用したWebシステムを構築しているのですが
ローカルPC上で、Xamppを利用した Windowsシステムでテストして正常に動作していた test.php を
利用しているレンタルサーバーにアップしたところ日本語が表示されません。
原因が何処にあるのか判断できず、サーバー担当者に問い合わせしても
サポート対象外との事で具体的なアドバイスが受けれなくて困っております。
<環境>
レンタルサーバー会社:GMOインターネット株式会社
http://www.kantan-server.jp/
MySQL version:5.0.37
MySQL の文字セット: UTF-8 Unicode
PHP version:5.2.1
詳細は http://www.heroine.co.jp/member/phpinfo.php で確認できます。
<MySQL にてすとテーブル作成>
テーブル名 :tbl_TEST
テーブル内容:項目01 fild01 varchar(10) "Heroine"
項目02 fild02 varchar(10) "株式会社 ヒロイン"
項目03 fild03 varchar(20) "これはphpテストです。"
を作成しました。
<てすとPHPソース作成>
PHPソース名:test.php
<?php
header("Content-Type: text/plain; charset=EUC-JP");
require_once("data/config.php"); // 設定をインポート
$con = mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die("[Error:MySQL_Connect] システムエラーです");
$sdb = mysql_select_db($DB_NAME,$con) or die("[Error:MySQL_Select_db] システムエラーです");
$rec = mysql_query("SELECT * FROM tbl_TEST ORDER BY fild01",$con);
$row = mysql_num_rows($rec);
$cnt = 1;
while($Farray = mysql_fetch_array($rec)) {
$tmp_fild01 = $Farray[0];
$tmp_fild02 = $Farray[1];
$tmp_fild03 = $Farray[2];
$cnt++;
}
mysql_close($con);
echo "=== てすとテーブル =====================================================\n";
echo "項目01:" . $tmp_fild01 . "\n";
echo "項目02:" . $tmp_fild02 . "\n";
echo "項目03:" . $tmp_fild03 . "\n";
echo "========================================================================\n";
?>
実行URL: http://www.heroine.co.jp/member/test.php
※PHPのソースはEUC-JPで保存し、ブラウザへEUC-JPで出力する様に記述しています
<実行結果>
=== てすとテーブル =====================================================
項目01:Heroine
項目02:?????????
項目03:???php??????
========================================================================
となってしまいます?
<問題点>
テーブルより参照した項目の半角英数字は正常に表示されるのですが、日本語の部分のみ ? で表示されてしまいます。
原因が判断できません。何方かアドバイスいただければありがたいのですが・・・
このレンタルサーバーには独自の php.ini を設置できるとありますので
これを設置すると解決出来るのかもしれませんが、サポート対象外との事で
詳しい内容は担当者からアドバスいただけませんでした。
php.ini の記述箇所等もアドバイスいただければ、ありがたいのですが・・・
よろしくお願いします。