今更ながらPHP5のdate関数について
ちょっと前から気がついていたんだけれど、まぁ別にこれといって問題はないので放置していた問題がありまして、徐々に気になり出し始めたのでちょっと修正してみました。
ギターを弾き語れ!のヘッダの右側にある日付がソレなんですが、
2010・4月10日
のように、「年」が文字化けしてたんですね。ちなみに元々は、
1 | date("Y年m月d日"); |
と言うような書き方をしていたのです。これで問題はなかったのですが、PHP5になってから「年」が「・」になってしまっていたので何でだろう?とは思っていました。
調べてみると、
これはShift-JISコードにおいて”年”という文字は2バイト目がasciiの”N”と同じで、これがdate()関数のformat指定子であるのが原因である。
こういう事らしいんです。
根本的な修正方法はあるんだろうけれど、面倒なので、
1 2 | $k_day = str_replace("☆","年",date("Y☆m月d日")); //☆をstr_replaceで置換して代入 echo $k_day; //代入してたのを表示 |
こんな方法で文字を置換するという形で解決できました。ムリヤリな感じですがまぁ正しく表示されてればなんでもOKなスタンスなので、これで良しとしておきます。
何かの参考になれば。