質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

7980閲覧

laravel envファイルに日本語を記入

n.Taro

総合スコア19

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/07/27 03:17

環境設定ファイルの.envに日本語を記入する方法がわかりません。

APP_NAMEのところにシステム名として、下記のように日本語で記載したのですが
bladeで取得しても表示されませんでした。
そもそも日本語は設定できないのでしょうか?

env

1APP_NAME="システム名"

php

1//app.blade.phpから抜粋 2<title>{{ config('app.name') }}</title>

laravleのバージョンは5.5です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

同様の事象を確認しました。(環境 Windows10)
※もしかしたらmac等では動作が異なるかもしれません。

.envの内容を環境変数にセットする動作については、
phpdotenvsetEnvironmentVariableで定義されているようです。

ここで、.envに適当な日本語をセットすると$_ENV[$name]及び$_SERVER[$name]には
意図した設定が入りますが、実際にgetenv(APP_NAME)とすると、日本語が化けるまたは、
falseが返ってきてしまうようです。
結論として、どうやらgetenv()は日本語の環境変数をサポートしきれていない様な気がします。

質問者さんにとって、最も簡単な解決策としては.envAPP_NAMEを削除して、
config.phpのデフォルト値に委ねてしまうことかもしれませんね。

php

1'name' => '日本語で設定したい内容',

投稿2018/07/31 06:34

motuo

総合スコア3027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

n.Taro

2018/07/31 06:41

貴重なご意見ありがとうございます。 仕様で無理であれば別の方法を考えます。 たんに、開発環境と本番環境でタイトルを変えていれば、わかりやすくenvで設定できると楽だったので日本語が使えれればと思っていたところです。 APP_ENVを使って条件分岐で対応します。 ありがとうございました
guest

0

//app.blade.phpから抜粋 <title>{{ config('app.name') }}</title>

.envより値を取る場合は

{{ env('APP_NAME') }}

となります。

config/app.phpには

'name' => env('APP_NAME', 'Laravel'),

と(デフォルトでは)記述されていて、
Laravelの初期状態でconfig('app.name')で.envの値が取れるのは

  1. config('app.name')でapp.phpのnameキーの値を取得しようとする。
  2. 取得先のapp.phpのnameキーに対応する値はenv('APP_NAME')なので、

env('APP_NAME')を呼び出し.envのAPP_NAMEの値を取得

となるためです。

ご質問の中でapp.phpに関しての情報が無いのでこれだっていう断言はできないのですが、
app.phpの

'name' => env('APP_NAME', 'Laravel'),

を書き換えていたりしていますでしょうか?
(私の環境では日本語表示できたので、日本語がNGという訳では無いようです)

投稿2018/07/27 04:41

balaenoptera

総合スコア222

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

n.Taro

2018/07/30 08:18

誤解を生む表現で申し訳ありません。 config/app.phpの件は承知しています。 ちなみに 'name' => env('APP_NAME', '日本語のシステム名称'), のように記載していますが 表示されません 仕様として日本語がだめなら諦めたのですが、使用可能ということであれば、ソースに誤りがあるのかもしれないです
balaenoptera

2018/07/30 09:37

>誤解を生む表現で申し訳ありません。 >config/app.phpの件は承知しています。 > >'name' => env('APP_NAME', '日本語のシステム名称'), >のように記載していますが >表示されません なるほど。。。 ・アルファベットを適当に入れてみると表示できる ・文字コードや改行コードも問題がない こともおそらく確認されてますよね。。。
n.Taro

2018/07/31 06:38

おっしゃるとおり、基本的なことは試しています。 日本語のみ表示されないので困ってました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問