タグ

ブックマーク / blog.yoheis.net (1)

  • Yoheis.net: PHPのdate()関数で文字化け

    20070903 PHPのdate()関数で文字化け PHPの内部文字エンコーディングがSJISの場合に echo date('Y年m月d日'); を実行すると 2007・09月03日 のように文字化けしてしまう。 これはShift-JISコードにおいて"年"という文字は2バイト目がasciiの"N"と同じで、これがdate()関数のformat指定子であるのが原因である。 EUC-JPやUTF-8では2バイト目以降にascciコードは出てこないので(参考:文字コードについて)、以下のようなコードでこの問題を解決できる。 function myDate(string $format, $time) { $encoding = mb_internal_encoding(); mb_internal_encoding("UTF-8"); $formatUtf8 = mb_convert_enc

    tyoro1210
    tyoro1210 2009/10/30
    文字コード一時変換するしか無いのかなぁ。 呼出し回数多い時嫌なんだけども。。。
  • 1