プロが教える店舗&オフィスのセキュリティ対策術

PHP初心者です。
環境:PC自作/WIN-XP/apache2/PHP5
pcの時間は東京時間なのに、date関数はグリニッジ標準時を返してきます。悪いのはapacheの設定かPHPの設定なのかわかりません。教えてください。よろしくお願いします。

A 回答 (3件)

No.2に対する補足です



もし、可能ならば
PHP 設定ファイルの
default_charset
mbstring.internal_encoding
mbstring.http_output
いずれも、EUC-JP に指定。
mbstring.http_input
をAUTOに指定

HTML文をEUC-JPで作成してみてはいかがでしょうか?
提示されたコードは当方の環境では問題なく表示されています。
【環境】
OS: FreeBSD 4.9
Apache 1.3.28
PHP 4.3.11

もしかしたらWindows 環境だからかもしれません。

この回答への補足

携帯からのアクセスを考え、Shift_JISに統一しています。
(1)WinXP+Apache2+PHP5.1.1
でhtmlをつくり、動作確認後、
(2)FEDORA4+Apache2+PHP5.1
に転送して表示させます。
(1)で文字化けしても、(2)では正常表示されます。
したがって、(1)の環境下でのdate関数特有の仕様なのでは(?)と思います。
根拠:WEB
http://www.shigeweb.jp/php/project_p/?section=mi …
さらにデータベース(MYSQL)の機能も組み込む予定ですが、どうやら文字化けの問題がさらに複雑になりそうです。
いろいろとありがとうございました。これからもサイトで見かけたらよろしくお願いします。

補足日時:2005/12/07 19:42
    • good
    • 0
この回答へのお礼

遅れながら、
全てEUCに統一したら解決しました。

お礼日時:2006/01/03 23:55

>2005 ・12月5日 20:41.38


>のように、”年”が文字化けしてしまいました。

漢字コードは EUC 、または SJIS で統一されてますか?

PHP 設定ファイルの
default_charset 内容と
mbstring.internal_encoding 内容
mbstring.http_output 内容
と、PHPスクリプト自体の漢字コードは合わせておいたほうがよろしいかとおもいます。

この回答への補足

回答ありがとうございます。
default_charset =SJIS
mbstring.internal_encoding =SJIS
mbstring.http_output =SJIS
でも上手くいきませんでした。
以下のコードを実行すると・・
$time1=date("Y年n月j日 H:i.s");
print($time1.'<br>');
print("年月日".'<br>');
以下のようになります。
2005・12月6日 22:00.13
年月日
どうやらdate関数で"年”を使うと文字化けします。
因みに PHP Version 5.1.1 (windows用)です。

補足日時:2005/12/06 21:57
    • good
    • 0

http://php.planetmirror.com/manual/en/function.d …

http://php.planetmirror.com/manual/en/ref.dateti …

この辺が参考になるかも知れません。
通常はサーバの設定になると思うので、date.timezoneに0とかが入ってるのかも知れません。

この回答への補足

ご回答ありがとうございます。
参考WEBは参考になりました。
もう一度、インストールを見直したところ、
WINDOWSのシステムディレクトリにphp5ts.dllをコピーし忘れていました。お騒がせいたしました。
結果、時間は直りましたが、
$time2=date("Y年n月j日 H:i.s");
と記述すると、
2005 ・12月5日 20:41.38
のように、”年”が文字化けしてしまいました。
またよろしくお願いします。

補足日時:2005/12/05 20:46
    • good
    • 0
この回答へのお礼

参考WEBを教えていただきありがとうございました。
今後の学習に大変役に立ちます。
今後も見かけましたらよろしくお願いします。

お礼日時:2005/12/06 22:10

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