LaravelのAPP_NAME
を日本語にしたい状況になり、「そもそも.envで日本語って設定できるんだっけ?」という疑問が湧いたので、試しに検証してみました。
結論として日本語でも大丈夫でした。
試したLaravelのバージョンは8です。
目次
検証
bladeにこんな感じで書いてみて、APP_NAMEが画面に表示されるかテストしました。
APP_NAME:{{ config('app.name', 'Laravel') }}
.envファイルのAPP_NAME
の値を表示し、なければLaravelと表示させるというコードです。
まずは英語
デフォルトではこうなっていたのでまずはこの状態でテストします。
APP_NAME=Laravel
もちろんエラーはなくLaravel
と表示されました。
日本語でテスト
以下のように、漢字含む日本語にしてみました。
APP_NAME=山田太郎のシステム
正しく表示されていました。日本語でも表示されるみたいです。
ちなみに、シングルクォーテーション・ダブルクォーテーションで囲っても問題なく表示されました。
APP_NAME="山田太郎のシステム"
APP_NAME='山田太郎のシステム'
半角・全角スペースがあるとどうなるか
APP_NAMEに、半角スペースや全角スペースが入っている場合についても検証しました。
半角スペースを入れた場合
APP_NAME=山田太郎 システム
これは、なんと真っ白の画面になりました。半角スペースが挟まるのはNGのようです。
全角スペースを入れた場合
「山田太郎 システム」と全角スペースの場合は、表示されました!半角だとダメなのに、不思議です。
半角・全角スペースあり+クォーテーションの場合
こんな具合です。
APP_NAME='山田太郎 システム'
APP_NAME="山田太郎 システム"
シングルクォーテーション・ダブルクォーテーションどちらを使っても正しく表示されました。
この方法なら、半角スペースが入っていても大丈夫でした。
.envに日本語をかけるのか まとめ
以上より、Laravelの.envファイルで日本語を設定することはできました。
ただし、半角スペースが間に入っている場合は、シングルクォーテーションまたはダブルクォーテーションで囲う必要があります。なぜか、全角スペースであればクォーテーションで囲まなくても大丈夫でした。
また、Laravelのバージョンや文字コード、サーバーによってはうまくいかないケースがあるのかもしれません。情報を集めています。
日本語のAPP_NAMEをメール送信元の名前にする
ちなみに今回は、Laravelからのメール送信で、メール差出人の名前を同じく.envファイルで以下のように設定していました。
APP_NAME=山田太郎のシステム
(省略)
MAIL_FROM_NAME="${APP_NAME}"
日本語でも正しく差出人名に反映されました。