我的程序(WebAPI)在Laravel中遇到了一個大問題。Laravel收集重音錯誤
首先,這是軟件的配置:
Laravel框架5.4.30
SQL Server 2012的
我試圖返回的一個JSON表「學生」,但是當Json字段包含重音時,這個Json返回了錯誤,例如José 」。當它不包含重音時,Json返回所有行,例如'Maria'
當我在名稱字段的值之前意識到一個字母時,我看到收集的信息。
class StudentsController extends Controller
{
public function index(Request $request){
$class = $request['class'];
$return = DB::table('students')
->where("class", $class)
->get();
dd($return);
return json_encode($return);
}
}
這個結果沒有accentuations:
Collection {#289
#items: array:1 [
0 => {#284
+"id": "2"
+"name": "Maria"
+"class": "B"
}
]
}
轉換成JSON:return json_encode($return);
,回報:
[{"id":"2","name":"Maria","class":"B"}]
但是...當結果有accentuations:
Collection {#289
#items: array:1 [
0 => {#284
+"id": "1"
+"name": b"José"
+"class": "A"
}
]
}
修復信「B」前值。
轉換爲JSON(return json_encode($return);
),返回: Json whith problem
這是對文件連接的配置 「/config/database.php」
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
]
幫幫我! !
嘗試通過iconv函數運行字符串,看看是否有幫助https://secure.php.net/manual/en/function.iconv.php –