2018年8月20日(木)
って表示したいのに 2018年8月20日(Thu)
と表示されて手元のThinkPadを窓から投げそうになったことはありませんか?
こういう場合は format()
ではなく formatLocalized()
を使います。
Carbon::now()->formatLocalized('%Y年%m月%d日(%a)');
これで正しく表示されてめでたしめでたしですね!
どうしても英字表記になってしまう場合は
localeを日本にする
PHPのロケーション設定を日本にします。
もし、稼働中の環境にmbstring拡張モジュールが入っていない場合は入れましょう。日本語を扱う上でmbstringは必須のようなものです。
setlocale(LC_ALL, 'ja_JP.UTF-8')
OSに日本語ロケールを入れる
これを知らなかったのでかなりの時間悩まされました。Homesteadの場合は vagrant ssh
でSSHに入って次の記事にあるコマンドを叩けばOKです。