if ($_GET["link"]!=""){
$curl = curl_init('http://exaple.com'.$link);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
$page = curl_exec($curl);
echo $page;
}
[您好,网站使用其他语言。字符被编码。我正进入(状态 ”??”和奇怪的文本,而不是字符“á”,“ i”,“á”等(Unicode)。有什么办法可以使其工作?
[First您必须标识源网站字符编码。
选择页面并下载...使用终端,输入:
$ curl -D headers.txt -o page.html http:/www.example.com/index.html
将响应标头保存到headers.txt
,而页面源html存储到page.html
[使用文本编辑器检查两个文件,并搜索Content-Type
,至少应在其中之一中找到字符编码的指示。
如果不成功,可以使用file
尝试通过检查文件内容来“猜测”字符编码:
$ file -I page.html
输出看起来像这样:
page.html: text/plain; charset=iso-8859-1
第二您必须决定或了解目标字符集是什么:
您是否将网页存储到文本文件中?文件的预期字符编码是什么?
您是否正在PHP中解析网页以便获取您感兴趣的某些数据?
您是否在网站上全部或部分提供网页?网站的字符编码是什么?
例如,假设您要使用编码为UTF-8的Unicode字符结尾。
最后使用$page = curl_exec($curl);
检索页面后,改进您的PHP脚本以进行正确的字符集转换>
您可以使用mb-convert_encoding
mb-convert_encoding
或者
$page = mb_convert_encoding( $page, 'ISO-8859-1', 'UTF-8' ); // from ----------^ ^--------to
可以用于相同的目的。
您可以使用不同的方法。