我的程序(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 –