php下载xml页面并转换为utf-8

时间:2012-07-11 12:22:44

标签: php encoding

当我右键单击浏览器中的xml页面并保存AS,然后用Notepad ++打开它时,非英语字符显示为OK。 但是,如果我编写脚本将页面保存到我的服务器,我就会遇到字符编码问题。这真是令人头疼。有帮助吗?感谢。

function download_page($path)
 {
//$path = htmlentities($path);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$path);
curl_setopt($ch, CURLOPT_FAILONERROR,1);
    //curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 280);
$retValue = curl_exec($ch);  
if (!$retValue){ //echo "erro curl";
        }                    

@curl_close($ch);
return $retValue;
 } 

 $file= download_page($url);
 $file = mb_convert_encoding($file, 'HTML-ENTITIES', "UTF-8");
 $file = utf8_encode ($file);

1 个答案:

答案 0 :(得分:1)

您的代码表明结果以UTF-8编码。首先,你确定它是真的吗?为什么你需要将它转换两次(首先转换为'HTML-ENTITIES',而不是转换回 UTF-8 )?如果您只想拥有html实体,请使用htmlentities()函数。