準・究極の選択

こんにちは、いつもお世話になっています。
以前どこかのサイトから、記憶(memo)とっていて、現在もそれを使っていたのですが、
何故か、本日(土)だけ、文字化けすることに気がつきました。
+-----------ここから-----------------------
$youbi = array('日','月','火','水','木','金','土');
$gmt = time()+9*3600;
$now = gmdate("Y/m/d(".$youbi[gmdate("w",$gmt)].") H:i:s", $gmt);
+------------------------------ここまで---------
コードは、このように書いています。

それで、帰ってくる値は、「2004/05/15(?4) 03:46:44」となります。
文字化けさせないで、曜日を日本語にするには、どうしたら良いのでしょうか?
教えて下さい。よろしく、おねがいします。

A 回答 (2件)

gmdate関数の中の処理が原因なのかもね。


とりあえず、曜日だけgmdateから外したら。

$now = gmdate("Y/m/d(",$gmt).$youbi[gmdate("w",$gmt)].gmdate(") H:i:s", $gmt);
    • good
    • 0
この回答へのお礼

おぉ、見事に(土)が表示されました。
しかしこれ、標準であって欲しいですね。
とにかく、ありがとうございました。

お礼日時:2004/05/15 21:21

$nowAfterConv = mb_convert_encoding($now, "SJIS");


などとして内部文字エンコードから、表示する環境に
合わせて文字エンコードを変更してみてはいかがでしょうか。

参考URL:http://www.php.net/manual/ja/function.mb-convert …

この回答への補足

色々と試しましたが、やはり(土)だけ(?4)になります。
やり方が、まずいのかもしれません。
$youbi = array('日','月','火','水','木','金','土');
$gmt = time()+9*3600;
$now = gmdate("Y/m/d(".$youbi[gmdate("w",$gmt)].") H:i:s", $gmt);
$nowAfterConv = mb_convert_encoding($now, "SJIS");
では、駄目でした。
私のスキルではちょっと難しいので、ずばりコードを教えて下さい。
よろしくお願いします。

補足日時:2004/05/15 17:06
    • good
    • 0
この回答へのお礼

お礼が遅れて申し訳有りません。
どうも、ありがとうございました。

お礼日時:2004/05/15 17:06

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