dongque8332 2013-01-23 01:30
浏览 17
已采纳

php DOM元素值不是人类可读的,因为内容是非英语的

I am trying to get html content of some remote site. I am using following php script but the output by this script is full of non-readable characters. I have no idea why it should behave like this. FYI, I am using chrome browser latest for my testing.

Script:

<?php
$url = "http://www.sandesh.com/article.aspx?newsid=115627";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$output = curl_exec($curl);
curl_close($curl);
//echo $output;
$DOM = new DOMDocument;
@$DOM->loadHTML($output);
//get all H1
$items = $DOM -> getElementById('lblNews');
echo  $DOM -> getElementById('lblNews')->tagName;

echo "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'
'http://www.w3.org/TR/html4/loose.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /></head><body><span>". $items -> nodeValue ."</span". "<br/></body></html>";

//display all H1 text
/*
for ($i = 0; $i < $items -> length; $i++) {
    echo $items -> item($i) -> nodeValue . "<br/>";
}*/
?>

Output:

span à ª¨à ªµà «€ à ª¦à ª¿à ª²à «Âà ª¹à «€, à ª¤à ª¾. à «¨à «¨ à ª­à «Âà ª°à ª·à «Âà ªŸà ª¾à ªšà ª¾à ª°à ª¨à ª¾ à ª†à ª°à «‹à ªªà «‹ à ª…à ª¨à «‡ à ªªà ª•à «Âà ª·à ª®à ª¾à ª‚ à ª­à ª¾à ª°à «‡ à ªµà ª¿à ª°à «‹à ª§à ª¨à «‡ à ªªà ª—à ª²à «‡ à ª°à ª¾à ªœà «€à ª¨à ª¾à ª®à «Âà ª‚ à ª†à ªªà «Âà ª¯à «Âà ª‚ à ªªà ª•à «Âà ª·à ªªà «Âà ª°à ª®à «Âà ª–à ª¨à «€ à ªšà «‚à ª‚à ªŸà ª£à «€ à ªªà «‚à ª°à «Âà ªµà «‡à ª¨à «€ à ª¬à «‡à ª à ª•à ª®à ª¾à ª‚ à ª¹à ª¾à ªˆà ª¡à «Âà ª°à ª¾à ª®à ª¾ à ª…à ª§à «Âà ª¯à ª•à «Âà ª·à ªªà ª¦ à ª®à ª¾à ªŸà «‡ à ª°à ª¾à ªœà ª¨à ª¾à ª¥à ª¸à ª¿à ª‚à ª¹à ª¨à ª¾à ª‚ à ª¨à ª¾à ª® à ªªà ª° à ª¸à ª°à «Âà ªµà ª¸à ª‚à ª®à ª¤à ª¿ à ª¹à «‹à ªµà ª¾à ª¨à «€ à ªšà ª°à «Âà ªšà ª¾ à ª¸à ª‚à ª˜à ª¨à «‡ à ªªà ª£ à ªµà ª¾à ª‚à ª§à «‹ à ª¨à ª¥à «€, à ª¨à ª¿à ª°à «Âà ªµà ª¿à ª°à «‹à ª§ à ªšà «‚à ª‚à ªŸà ª¾à ªˆ à ª¶à ª•à «‡ à ª›à «‡ à ª†à ªœà «‡ à ª­à ª¾à ªœà ªªà ª¨à «€ à ª¸à ª‚à ª¸à ª¦à «€à ª¯ à ª¸à ª®à ª¿à ª¤à ª¿à ª¨à «€ à ª¬à «‡à ª à ª• à ª­à ª¾à ªœà ªªà ª¨à ª¾ à ª°à ª¾à ª·à «Âà ªŸà «Âà ª°à «€à ª¯ à ª…à ª§à «Âà ª¯à ª•à «Âà ª· à ª¨à «€à ª¤à ª¿à ª¨ à ª—à ª¡à ª•à ª°à «€à ª à ª®à ª‚à ª—à ª³à ªµà ª¾à ª°à «‡ à ª°à ª¾à ª¤à «Âà ª°à «‡ à ª¨à ª¾à ªŸà ª•à «€à ª¯ à ª…à ª‚à ª¦à ª¾à ªœà ª®à ª¾à ª‚ à ªªà ª•à «Âà ª·à ª¨à ª¾ à ª…à ª§à «Âà ª¯à ª•à «Âà ª·à ªªà ª¦à «‡à ª¥à «€ à ª°à ª¾à ªœà «€à ª¨à ª¾à ª®à «Âà ª‚ à ª†à ªªà «Âà ª¯à «Âà ª‚ à ª¹à ª¤à «Âà ª‚. à ªªà ª•à «Âà ª·à ª¨à ª¾ à ªµà ª°à ª¿à ª·à «Âà ª  à ª¨à «‡à ª¤à ª¾ à ª²à ª¾à ª²à ª•à «ƒà ª·à «Âà ª£ à ª…à ª¡à ªµà ª¾à ª£à «€ à ª…à ª¨à «‡ à ª­à «ˆà ª¯à ª¾à ªœà «€ à ªœà «‹à ª¶à «€ à ª¸à ª¾à ª¥à «‡à ª¨à «€ à ª¬à «‡à ª à ª•à ª¨à ª¾ à ª•à «‡à ªŸà ª²à ª¾à ª• à ª•à ª²à ª¾à ª• à ª¬à ª¾à ª¦ à ªœ à ª—à ª¡à ª•à ª°à «€à ª à ª°à ª¾à ªœà «€à ª¨à ª¾à ª®à ª¾à ª¨à «€ à ªœà ª¾à ª¹à «‡à ª°à ª¾à ª¤ à ª•à ª°à «€ à ª¹à ª¤à «€. à ª—à ª¡à ª•à ª°à «€à ª¨à ª¾à ª‚ à ª°à ª¾à ªœà «€à ª¨à ª¾à ª®à ª¾ à ª¬à ª¾à ª¦ à ªªà ª•à «Âà ª·à ª¨à ª¾ à ª‰à ª¤à «Âà ª¤à ª°à ªªà «Âà ª°à ª¦à «‡à ª¶à ª¨à ª¾ à ª¸à ª¾à ª‚à ª¸à ª¦ à ª°à ª¾à ªœà ª¨à ª¾à ª¥à ª¸à ª¿à ª‚à ª¹ à ª…à ª§à «Âà ª¯à ª•à «Âà ª·à ªªà ª¦à ª¨à «€ à ª¹à ª°à «€à ª«à ª¾à ªˆà ª®à ª¾à ª‚ à ª¸à «Œà ª¥à «€ à ª†à ª—à ª³ à ª›à «‡. à ª°à ª¾à ª·à «Âà ªŸà «Âà ª°à «€à ª¯ à ª¸à «Âà ªµà ª¯à ª‚à ª¸à «‡à ªµà ª• à ª¸à ª‚à ª˜ (à ª†à ª°à ªÂà ª¸à ªÂà ª¸)à ª à ªªà ª£ à ª°à ª¾à ªœà ª¨à ª¾à ª¥à ª¸à ª¿à ª‚à ª¹à ª¨à ª¾à ª‚ à ª¨à ª¾à ª® à ªªà ª° à ª¸à ª‚à ª®à ª¤à ª¿ à ª†à ªªà «€ à ª¹à «‹à ªµà ª¾à ª¨à «Âà ª‚ à ª¸à «‚à ª¤à «Âà ª°à «‹à ª à ªœà ª£à ª¾à ªµà «Âà ª¯à «Âà ª‚ à ª›à «‡, à ªœà «‹à ª•à «‡ à ª¨à ªµà ª¾ à ª…à ª§à «Âà ª¯à ª•à «Âà ª·à ª¨à «€ à ª°à «‡à ª¸à ª®à ª¾à ª‚ à ªµà «‡à ª‚à ª•à «ˆà ª¯à ª¾ à ª¨à ª¾à ª¯à ª¡à «Âà ª¨à «Âà ª‚ à ª¨à ª¾à ª® à ªªà ª£ à ªšà ª°à «Âà ªšà ª¾à ªˆ à ª°à ª¹à «Âà ª¯à «Âà ª‚ à ª›à «‡. à ªœà «‹à ª•à «‡ à ª¬à «Âà ª§à ªµà ª¾à ª°à «‡ à ª¸à ªµà ª¾à ª°à «‡ à ªªà ª•à «Âà ª·à ª¨à «€ à ª¸à ª‚à ª¸à ª¦à «€à ª¯ à ª¸à ª®à ª¿à ª¤à ª¿à ª¨à «‡ à ª¬à «‡à ª à ª•à ª®à ª¾à ª‚ à ª°à ª¾à ªœà ª¨à ª¾à ª¥à ª¸à ª¿à ª‚à ª¹à ª¨à ª¾ à ª¨à ª¾à ª®à ª¨à «€ à ª¸à ª¤à «Âà ª¤à ª¾à ªµà ª¾à ª° à ªœà ª¾à ª¹à «‡à ª°à ª¾à ª¤ à ª¥à ªˆ à ª¶à ª•à «‡ à ª›à «‡ à ª¤à «‡à ª® à ª¸à «‚à ª¤à «Âà ª°à «‹ à ªœà ª£à ª¾à ªµà «‡ à ª›à «‡. à ª¬à «€à ªœà «€ à ª¤à ª°à ª« à ªªà ª•à «Âà ª·à ª¨à ª¾ à ªµà ª°à ª¿à ª·à «Âà ª  à ª¨à «‡à ª¤à ª¾ à ª¯à ª¶à ªµà ª‚à ª¤ à ª¸à ª¿à ª‚à ª¹à ª¾à ª à ªªà ª£ à ª…à ª§à «Âà ª¯à ª•à «Âà ª·à ªªà ª¦ à ª®à ª¾à ªŸà «‡à ª¨à «Âà ª‚ à ª¨à ª¾à ª®à ª¾à ª‚à ª•à ª¨à ªªà ª¤à «Âà ª° à ª®à ª‚à ª—à ª¾à ªµà «Âà ª¯à «Âà ª‚ à ª¹à ª¤à «Âà ª‚. à ªœà «‹à ª•à «‡ à ª°à ª¾à ªœà ª¨à ª¾à ª¥à ª¸à ª¿à ª‚à ª¹à ª¨à ª¾ à ª¨à ª¾à ª® à ªªà ª° à ª¸à ª°à «Âà ªµà ª¸à ª‚à ª®à ª¤à «Âà ª¤à ª¿ à ª¸à ª§à ª¾à ª¤à ª¾ à ª¯à ª¶à ªµà ª‚à ª¤ à ª¸à ª¿à ª‚à ª¹à ª¾ à ª¹à ªµà «‡ à ª¨à ª¾à ª®à ª¾à ª‚à ª•à ª¨à ªªà ª¤à «Âà ª° à ª¨à ª¹à «€à ª‚ à ª­à ª°à «‡. à ª—à ª¡à ª•à ª°à «€ à ªµà ª¿à ª°à «Âà ª¦à «Âà ª§ à ªµà ª¾à ª¤à ª¾à ªµà ª°à ª£ à ª¬à ª¨à ªµà ª¾à ª¨à «‹ à ª˜à ªŸà ª¨à ª¾à ª•à «Âà ª°à ª® à «§.         à ª¶à ª¨à ª¿à ªµà ª¾à ª°à «‡ à ª²à ª¾à ª²à ª•à «ƒà ª·à «Âà ª£ à ª…à ª¡à ªµà ª¾à ª£à «€à ª à ª…à ª§à «Âà ª¯à ª•à «Âà ª·à ªªà ª¦à «‡ à ª«à ª°à «€ à ªµà ª¾à ª° à ª—à ª¡à ª•à ª°à «€à ª¨à «‡ à ª¬à ª¦à ª²à «‡ à ª¸à «Âà ª·à «Âà ª®à ª¾ à ª¸à «Âà ªµà ª°à ª¾à ªœà ª¨à ª¾à ª‚ à ª¨à ª¾à ª®à ª¨à «‡ à ª†à ª—à ª³ à ª•à ª°à «Âà ª¯à «Âà ª‚ à ª¹à ª¤à «Âà ª‚ à «¨.         à ª®à ª‚à ª—à ª³à ªµà ª¾à ª°à «‡ à ª†à ª‡à ªŸà «€à ª à ª—à ª¡à ª•à ª°à «€à ª¨à ª¾ à ªªà «‚à ª°à «Âà ª¤à ª¿ à ª—à «Âà ª°à «‚à ªª à ª¸à ª¾à ª¥à «‡ à ª¸à ª‚à ª•à ª³à ª¾à ª¯à «‡à ª²à «€ à ª•à ª‚à ªªà ª¨à «€à ª“à ª¨à «€ à ª¤à ªªà ª¾à ª¸ à ª¹à ª¾à ª¥ à ª§à ª°à «€ à ª¹à ª¤à «€ à «©.         à ª®à ª‚à ª—à ª³à ªµà ª¾à ª°à «‡ à ª¯à ª¶à ªµà ª‚à ª¤ à ª¸à ª¿à ª‚à ª¹à ª¾à ª à ªªà ª£ à ª¨à ª¾à ª®à ª¾à ª‚à ª•à ª¨à ªªà ª¤à «Âà ª° à ª®à ª—à ª¾à ªµà ª¤à ª¾ à ª—à ª¡à ª•à ª°à «€à ª¨à «€ à ª®à «Âà ª¶à «Âà ª•à «‡à ª²à «€à ª“ à ªµà ª§à «€ à ª¹à ª¤à «€, à ª…à ª¡à ªµà ª¾à ª£à «€à ª à ª¸à ª¿à ª¨à «Âà ª¹à ª¾à ª¨à «Âà ª‚ à ª¨à ª¾à ª® à ª†à ª—à ª³ à ª•à ª°à «Âà ª¯à «Âà ª‚ à ª¹à ª¤à «Âà ª‚ à «ª.         à ª°à ª¾à ªœà «Âà ª¯à ª¸à ª­à ª¾à ª®à ª¾à ª‚ à ªªà ª•à «Âà ª·à ª¨à ª¾ à ª¨à «‡à ª¤à ª¾ à ª…à ª°à «Âà ª£ à ªœà «‡à ªŸà ª²à «€à ª¨à ª¾ à ª˜à ª°à «‡ à ª¬à «‡à ª à ª• à ª¹à ª¤à «€ à ««.         à ª—à ª¡à ª•à ª°à «€à ª à ª¨à ª¾à ª—à ªªà «Âà ª°à ª®à ª¾à ª‚ à ªªà ª¹à «‡à ª²à «€ à ª«à «‡à ª¬à «Âà ª°à «Âà ª†à ª°à «€à ª à ª†à ª‡à ªŸà «€ à ª¸à ª®à ª•à «Âà ª· à ª¹à ª¾à ªœà ª° à ªªà ª£ à ª¥à ªµà ª¾à ª¨à «Âà ª‚ à ª›à «‡, à ªœà «Âà ª¯à ª¾à ª°à «‡ à «¨à «©à ª®à «€ à ªœà ª¾à ª¨à «Âà ª¯à «Âà ª†à ª°à «€à ª à ª…à ª§à «Âà ª¯à ª•à «Âà ª·à ªªà ª¦à ª¨à «€ à ªšà «‚à ª‚à ªŸà ª£à «€ à ª›à «‡.  à ª®à «‡à ª‚ à ª­à «Âà ª°à ª·à «Âà ªŸà ª¾à ªšà ª¾à ª°à ª¨à ª¾ à ª†à ª°à «‹à ªªà «‹à ª¥à «€ à ª•à ª‚à ªŸà ª¾à ª³à «€à ª¨à «‡ à ª°à ª¾à ªœà «€à ª¨à ª¾à ª®à «Âà ª‚ à ª†à ªªà «Âà ª¯à «Âà ª‚ à ª›à «‡. à ªªà ª•à «Âà ª·à ª¨à ª¾à ª‚ à ª…à ª§à «Âà ª¯à ª•à «Âà ª·à ªªà ª¦ à ª®à ª¾à ªŸà «‡ à ª¸à ª‚à ª˜ à ª®à ª¾à ª°à ª¾ à ª¨à ª¾à ª®à ª¨à «‹ à ªªà «Âà ª°à ª¸à «Âà ª¤à ª¾à ªµ à ª¨ à ª®à «‚à ª•à «‡. à ª¹à «Âà ª‚ à ª•à «Âà ª²à «€à ª¨à ªšà ª¿à ªŸ à ª®à ª³à ª¶à «‡ à ªªà ª›à «€ à ªªà ª¾à ª›à «‹ à ª«à ª°à «€à ª¶. à ª®à ª¾à ª°à «€ à ª¸à ª¾à ª®à «‡ à ª•à «‡à ª¨à «Âà ª¦à «Âà ª° à ª¸à ª°à ª•à ª¾à ª°à «‡ à ª°à ª¾à ªœà ª•à «€à ª¯ à ª·à ª¡à «Âà ª¯à ª‚à ª¤à «Âà ª° à ª°à ªšà «Âà ª¯à «Âà ª‚ à ª›à «‡. à ª®à «‡à ª‚ à ª•à ª¶à «Âà ª‚ à ª–à «‹à ªŸà «Âà ª‚ à ª•à ª°à «Âà ª¯à «Âà ª‚ à ª¨à ª¥à «€, à ª¹à «Âà ª‚ à ª•à «‹à ªˆ à ªªà ª£ à ªªà «Âà ª°à ª•à ª¾à ª°à ª¨à «€ à ª¤à ªªà ª¾à ª¸ à ª®à ª¾à ªŸà «‡ à ª¤à «ˆà ª¯à ª¾à ª° à ª›à «Âà ª‚, à ªªà ª£ à ªªà ª¾à ª°à «Âà ªŸà «€ à ª¹à ª¿à ª¤à ª¨à «‡ à ª¨à «Âà ª•à ª¸à ª¾à ª¨ à ªªà ª¹à «‹à ª‚à ªšà ª¾à ª¡à ªµà ª¾ à ª®à ª¾à ª—à ª¤à «‹ à ª¨à ª¥à «€.  - à ª¨à «€à ª¤à ª¿à ª¨ à ª—à ª¡à ª•à ª°à «€

Effect After adding meta tag fot content type:

enter image description here

PasteBin for Expected Output:

Similar to this pastebin link without first span as we want the content from inside of it. http://pastebin.com/0fefAnhC

  • 写回答

1条回答 默认 最新

  • doushifang4382 2013-01-23 01:34
    关注

    I believe your problem is that you need to declare this document as a UTF-8 document.

    Add <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> to your <head> </head>.

    Modified Code:

    $url = "http://www.sandesh.com/article.aspx?newsid=115627";
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    $output = curl_exec($curl);
    curl_close($curl);
    //echo $output;
    $DOM = new DOMDocument;
    $output = mb_convert_encoding($output, 'HTML-ENTITIES', "UTF-8"); 
    @$DOM->loadHTML('<?xml encoding="UTF-8">'.$output);
    $doc->encoding = 'UTF-8'; // insert proper
    //get all H1
    $items = $DOM -> getElementById('lblNews');
    echo  $DOM -> getElementById('lblNews')->tagName;
    
    echo "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'
    'http://www.w3.org/TR/html4/loose.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head></head><body><span>". $items -> nodeValue ."</span". "<br/></body></html>";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)