環境:
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'); }
解決方法がわかる方、よろしく願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。