我正在使用Eloquent将一个新人保存到我的数据库中.人名包含特殊字符é,但不提交.这是我的步骤和结果.
echo Input::get('firstname'); // Miguél
这给了我这个
米格尔
当我开始使用雄辩时,会发生以下情况.
$person = new Person(); echo $person->firstname = Input::get('firstname');
这产生以下结果
migul
什么可能出错?
这些是laravel中的配置设置
谢谢
我不认为它与数据库有任何共同之处.
当你使用:
$person = new Person(); echo $person->firstname = Input::get('firstname');
你不在这里使用数据库.您只需将属性分配给Person类(可能使用Eloquent)但您不会将任何内容放入数据库并从数据库中获取任何内容,因此编码问题不可能与数据库本身有任何共同之处
在我看来潜在的问题 – 你已经在Person类中为firstname属性定义了mutator,因为你有小写的(当你从输入它得到大写字母时)你所以你可能使用像strtolower这样的函数你应该使用mb_strtolower来转换UTF -8字符串没有问题.