php – Laravel UTF-8到数据库

我正在使用Eloquent将一个新人保存到我的数据库中.人名包含特殊字符é,但不提交.这是我的步骤和结果.
echo Input::get('firstname'); // Miguél

这给了我这个

米格尔

当我开始使用雄辩时,会发生以下情况.

$person = new Person();
echo $person->firstname = Input::get('firstname');

这产生以下结果

migul

什么可能出错?
这些是laravel中的配置设置

这是我在PHPmyadmin中的数据库

谢谢

我不认为它与数据库有任何共同之处.

当你使用:

$person = new Person();
echo $person->firstname = Input::get('firstname');

你不在这里使用数据库.您只需将属性分配给Person类(可能使用Eloquent)但您不会将任何内容放入数据库并从数据库获取任何内容,因此编码问题不可能与数据库本身有任何共同之处

在我看来潜在的问题 – 你已经在Person类中为firstname属性定义了mutator,因为你有小写的(当你从输入它得到大写字母时)你所以你可能使用像strtolower这样的函数你应该使用mb_strtolower来转换UTF -8字符串没有问题.

相关文章

laravel的dd函数不生效怎么办
看不懂laravel文档咋办
安装laravel框架出现command怎么办
Laravel开发API怎么使用事务
laravel怎么构建复杂查询条件
laravel如何实现防止被下载