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

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

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

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

Laravel 5

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

Q&A

1回答

3212閲覧

Laravel 5.1 で日本語を更新すると文字化けする

hiro3333

総合スコア14

PHP

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

Laravel 5

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

0グッド

0クリップ

投稿2015/08/06 04:48

環境:
Windows 8.1
xampp 3.2.1

Mysql の状態
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\xampp\mysql\share\charsets\ |
+--------------------------+--------------------------------+

php.ini
extension=php_mbstring.dll
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0

上記の環境で、laravel 5.1で作成したコードを実行すると、
新規登録時は、問題なく登録できます。
phpmyadminで確認して問題ないことも確認しました。
しかし、更新時に文字化けします。

html上は、以下のmetaタグはあります。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

サンプルとなるソース

update.blade.php

{!! Form::open(array('url' => '/master/group/update', 'files' => true)) !!} {!! Form::hidden('id', $group->id) !!} <table class="table"> <tr> <th>{{ Lang::get('master_group.name') }}</th> <td>{!! Form::text('name', $group->name, array('class' => 'form-control')) !!}</td> </tr> <tr> <th>{{ Lang::get('master_group.user') }}</th> <td>{!! Form::select('user_id', $users, $group->user_id, array('class' => 'form-control')) !!}</td> </tr> <tr> <th>{{ Lang::get('master_group.remarks') }}</th> <td>{!! Form::textarea('remarks', $group->remarks, array('class' => 'form-control')) !!}</td> </tr> <tr> <td colspan="2" style="text-align: right;"> {!! Form::submit(Lang::get('common.submit'), array('class' => 'btn btn-success active')) !!} <a href="{{ url('/master/group') }}" class="btn btn-warning active" role="button">{{ Lang::get('common.back') }}</a> </td> </tr> </table> {!! Form::close() !!}

controller.php

/** * 更新 * @param Request $request */ public function update(Request $request) { $group = Group::find($request->id); $group->name = $request->name; $group->remarks = $request->remarks; $group->user_id = $request->user_id; // ヴァリデーション $validator = $this->validator($request->all()); if ($validator->fails()) { $this->throwValidationException( $request, $validator ); } $group->save(); return redirect()->guest('master/group'); }

解決方法がわかる方、よろしく願いします。

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

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

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

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

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

guest

回答1

0

新規登録時に日本語が文字化けしないで、
更新時にのみ文字化けするなら、更新処理に問題がありそうですね。

切り分けとして、更新する前に文字化けしてないか一度確認してみたらどうでしょう。
echo $group->name;exit;
$group->save();

投稿2015/09/12 17:59

lightwill

総合スコア962

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問