php - 阅读特殊地址的内容网页

时间:2015-05-14 21:15:16

标签: php mysql utf-8 page-curl file-put-contents

我想获得此Web Page的内容 使用php函数(例如file_put_contentscurl_init等),但我得到�������作为回复。

为什么会这样?

我解决了我的问题。在获取内容网页后,我使用了mb_convert_encoding($ body_webpage,“UTF-8”,“GBK”),现在这可以保存在mysql中的中文字符。

1 个答案:

答案 0 :(得分:0)

为了正确显示中文页面,您需要做几件事。

告诉PHP我们在脚本结束之前使用UTF-8字符串

mb_internal_encoding('UTF-8');

告诉PHP我们将UTF-8输出到浏览器

mb_http_output('UTF-8');

告诉bowser我们将使用UTF-8字符集

header('Content-Type: text/xml; charset=UTF-8');

我已使用以下代码成功加载了具有正确字符编码的页面:

<?php
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.chinanews.com/rss/scroll-news.xml");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_ENCODING, "");
$pagebody=curl_exec ($ch);
curl_close ($ch);

header('Content-Type: text/xml; charset=UTF-8');
echo $pagebody;
?>

了解有关utf-8字符编码的详情

https://phpbestpractices.org/#utf-8