繁体   English   中英

在雄辩的访问器中修整(\\ xa0)后出现UTF-8错误

[英]UTF-8 Error after trim(\xa0) in Eloquent accessor

我正在通过Eloquent Accessors和下一个帮助器在模型上修剪用户的名字和姓氏:

function clean($string){
    return trim($string, " \t\n\r\0\x0B\xc2\xa0");
}

然后在模型中:

public function getFirstNameAttribute($firstname){
    return clean(ucwords(strtolower($firstname)));
}
public function getLastNameAttribute($lastname){
    return clean(ucwords(strtolower($lastname)));
}

许多名称都来自excel,并且具有尾随空格,可以将其修剪\\ xa0删除,但是当它试图修剪特殊字符时,问题就来了,例如(à)。

我尝试删除它,但它不会失败,但是,它不会删除尾随空格。

我还尝试确保将标头字符集设置为utf-8

任何想法? 谢谢。

我只希望看不见的空间消失:/

错误信息:

InvalidArgumentException in JsonResponse.php line 69:
Malformed UTF-8 characters, possibly incorrectly encoded

尝试使用mb_strtolower()mb_convert_case()代替strtolower()ucwords()

代替trim()您可以从这里尝试此功能:

function mb_trim($str) {
    return preg_replace("/(^\s+)|(\s+$)/us", "", $str); 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM