我正在使用laravel 4.2。我正在学习laravel,并发现自己陷入了一个问题,我已经尝试过很多论坛,我没有找到任何答案。 我的问题如下: 我将此表单嵌入到php视图文件中:
{{Form::open(['route'=> 'home.store'])}}
<div class="container col-xs-5 ">
<form class="form-horizontal">
<div class="form-group col-xs-8">
<!-- Split button -->
<div class="btn-group">
<select name="country" class="btn btn-success dropdown-toggle" >
<option disabled selected>Escoger País</option>
<option>Argentina</option>
<option>Bolivia</option>
<option>Chile</option>
<option>Colombia</option>
<option>Costa Rica</option>
<option>Cuba</option>
<option>Ecuador</option>
<option>El Salvador</option>
<option>Guatemala</option>
<option>Honduras</option>
<option>México</option>
<option>Nicaragua</option>
<option>Panamá</option>
<option>Paraguay</option>
<option>Perú</option>
<option>Puerto Rico</option>
<option>Uruguay</option>
<option>Puerto Rico</option>
<option>República Dominicana</option>
<option>Venezuela</option>
</select>
</div>
</div>
</div>
{{Form::close()}}
现在,在home.store我有:
$user-> country = Input::get('country');
这意味着要存储在数据库表中,该字段名为“country”,其类型为ENUM,其选项与表单相同。当我选择没有ansi字符代码的选项时,它完美地工作。但是,当我选择包含西班牙语代字号(')的选项时,它在ansi代码中设置,它们无法存储在数据库中。
现在,检查我在home.store中使用的输入:
return Input::all();
它输出:
{"_token":"ofyHW7ElogegKJwMXQL3HsbugCSnRxbtkm0GVQ8y","country":"Per\u00fa"}
我可以将问题识别为:acsii code&amp;#250被翻译为java \ u00fa。 我已经检查了框架中的任何地方(FormBuilder.php和HtmlBuilder.php),看看是否有东西被定义为laravel中的java但是一切都设置为UTF-8,所以作为数据库,以及html中的元标记view(浏览器也设置为utf-8)
我非常感谢任何人的帮助。
非常感谢你。