PHP:HTML特殊字符在字符串中格式错误(UTF8)
我有一个CURL脚本,它从一个普通的JSON提要中提取数据。提要返回html代码,但特殊的html字符格式错误 例如,我得到以下字符串: 漂亮的新图形 -美丽的新有机环境 -新的障碍 数据存储在数据库中,我还想存储特殊的html字符 如何保存特殊的html字符。我的脚本如下:PHP:HTML特殊字符在字符串中格式错误(UTF8),php,utf-8,Php,Utf 8,我有一个CURL脚本,它从一个普通的JSON提要中提取数据。提要返回html代码,但特殊的html字符格式错误 例如,我得到以下字符串: 漂亮的新图形 -美丽的新有机环境 -新的障碍 数据存储在数据库中,我还想存储特殊的html字符 如何保存特殊的html字符。我的脚本如下: $curl_session = curl_init(); curl_setopt($curl_session, CURLOPT_URL,'https://itunes.apple.com/lookup?id=572395
$curl_session = curl_init();
curl_setopt($curl_session, CURLOPT_URL,'https://itunes.apple.com/lookup?id=572395608');
curl_setopt($curl_session, CURLOPT_CONNECTTIMEOUT,10);
curl_setopt($curl_session, CURLOPT_TIMEOUT, 10);
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_session, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, 0);
$source = curl_exec($curl_session);
$source_decoded = json_decode($source, true);
print_r($source_decoded);
exit;
您将以UTF-8的形式接收字符,因为这是JSON中唯一允许和可能的编码
但您不能将它们输出为UTF-8。改变这个。发送一个内容类型头,告诉客户端使用了哪种编码。或者将字符转换为您正在使用的编码,并冒着丢失无法用它编码的字符的风险。什么是
mb_detect_编码($source))代码>返回?@mkaatman:it返回:UTF-8。使用utf8_decode(),我将其作为输出:?漂亮的新图形?美丽的新有机环境?新obstaclesHow about:echo htmlspecialchars($source,ENT_引号,'UTF-8')代码>@mkaatman:它的格式仍然错误:\n–ª…漂亮的新图形\n–ª…漂亮的新有机环境\n–ª…新障碍物我正在本地设置它以进行尝试。稍等。简而言之,使用:header('Content-Type:text/html;charset=utf-8');