我在PHP应用程序中正确显示特殊字符时遇到困难。特殊字符显示为“?”在多数情况下。我相信这与cURL操作有关。
我们将内容存储在我们通过cURL返回的内容管理系统中。当我通过CMS返回我们的内容时,特殊字符将更改为 。当我在这些键上使用mb_convert_encoding时,它会将特殊字符显示为“?”。如何正确显示特殊字符?任何帮助将不胜感激!
内容管理系统:
结果输出 - 使用cURL(在mb_convert_encoding之前):
页面输出(在mb_convert_encoding之后):
代码:
$curl = curl_init();
curl_setopt($curl,CURLOPT_HTTPHEADER,array(
'Content-type:application/json'
));
curl_setopt($curl,CURLOPT_POST,true);
curl_setopt($curl,CURLOPT_POSTFIELDS,json_encode(array(
'contentKeyName' => $prefix,
'langCode' => $language,
'rollSetiForExperiments' => false
)));
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_TIMEOUT,10);
curl_setopt($curl,CURLOPT_URL,$endpoint);
$response = new stdClass();
$response->response = curl_exec($curl);
$response->headers = curl_getinfo($curl);
$response->error_number = curl_errno($curl);
$response->error_message = curl_error($curl);
curl_close($curl);
$result = $response->response; // If I echo $result, Special Characters are outputted as �
$result = mb_convert_encoding($result,'utf-8'); // Changes � to ?
期望输出: