こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

date関数がgmdate関数と同じになってしまってます。

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

投稿日時 - 2005-12-04 00:43:49

QNo.1818029

すぐに回答ほしいです

質問者が選んだベストアンサー

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 環境だからかもしれません。

投稿日時 - 2005-12-07 19:18:32

補足

携帯からのアクセスを考え、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=miniref&page=first
さらにデータベース(MYSQL)の機能も組み込む予定ですが、どうやら文字化けの問題がさらに複雑になりそうです。
いろいろとありがとうございました。これからもサイトで見かけたらよろしくお願いします。

投稿日時 - 2005-12-07 19:42:20

お礼

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

投稿日時 - 2006-01-03 23:55:16

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

>2005 ・12月5日 20:41.38
>のように、”年”が文字化けしてしまいました。

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

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

投稿日時 - 2005-12-06 17:49:19

補足

回答ありがとうございます。
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:54

ANo.1

http://php.planetmirror.com/manual/en/function.date-default-timezone-get.php

http://php.planetmirror.com/manual/en/ref.datetime.php#ini.date.timezone

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

投稿日時 - 2005-12-04 23:49:30

補足

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

投稿日時 - 2005-12-05 20:46:10

お礼

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

投稿日時 - 2005-12-06 22:10:43

あなたにオススメの質問