2016-11-08 74 views
0

我修剪FIRST_NAME和我的用戶對模型通過口才訪問者的姓氏與下一個幫手:UTF-8錯誤

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空間,但是當它試圖修剪特殊字符,如(A)問題就來了。

我試着去掉它,它並沒有失敗,但是,它並沒有刪除尾隨空格。

我還試圖確保字符集的頭被設置爲UTF-8

任何想法?謝謝。

我只想無形的空間將消失:/

錯誤消息:

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

回答

0

嘗試使用mb_strtolower()mb_convert_case()代替strtolower()ucwords()

而不是trim()你可以從here試試這個功能:

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

謝謝你的提示,嘗試過,但它也不管用,這是裝飾。 –

+0

@CarlosFdev我已經更新了我的答案。 –

+0

也試過,它不會刪除所有的尾部空格{ 「id」:95063,0​​「first_name」:「Xabier」}只有當我將\ xa0添加到修剪時,它實際上將它們全部刪除 –