PHP:错误格式化为字符串的HTML特殊字符(UTF8)

时间:2013-03-06 20:09:21

标签: php utf-8

我有一个CURL脚本,可以从普通的JSON提要中提取数据。 feed返回html代码,但特殊的html字符格式错误。

例如,我得到以下字符串:

â...美丽的新图形 ★...华丽的新有机环境 ★新障碍

数据存储在数据库中,我也希望存储特殊的html字符。

如何保留特殊的html字符。我的脚本如下:

$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;

1 个答案:

答案 0 :(得分:1)

您收到的字符为UTF-8,因为这是JSON中唯一允许和可能的编码。

但是你输出的不是UTF-8。改变这个。发送内容类型标头,告知客户端使用了哪种编码。或者将字符转换为您正在使用的编码,并且可能会丢失那些无法使用它编码的字符。