0

PHP の file_get_contents に特別な問題が 1 つあります。コードは次のとおりです。

$html = file_get_contents("http://www.bratm.sk/trochu-harlem-inspiracie-zaslite-nam-svoj-super-harlem-shake-ak-bude-husty-zverejnime-ho");

それは私にこのようなものを与えます

í}KsŰĆŇčÚŽň!Ç& zRŚ|iI[#)öIkI ĆĺăĹŮÝĹÍý_ŐŃâ[EVßîV%Ů˙ëvĎ ř)śG#óčééééÇĚ çáÜöÁÖÉ;¤áˇ,rřĂăçť[DQ5íeaKÓśOśÉ?ě='šL¸ÔöLßä6ľ4mg_!JĂ÷˘Śu:L§án];9ŇÎV+ި1|C

このページの一部のページでは、iconv を使用して適切なエンコーディングとコンテンツを取得できますが、ここではどうしようもありません。どうすれば修正できますか? どうも

4

3 に答える 3

2

そのページはUTF-8です。一致するようにヘッダーを設定する必要があります。

header('Content-Type: text/html; charset=utf-8');

于 2013-03-08T23:27:43.647 に答える
1

私はあなたがこのようなものを探していると思います

$opts = array('http' => array('header' => 'Accept-Charset: UTF-8, *;q=0'));
$context = stream_context_create($opts);

$filename = "http://www.bratm.sk/trochu-harlem-inspiracie-zaslite-nam-svoj-super-harlem-    shake-ak-bude-husty-zverejnime-ho";
echo file_get_contents($filename, false, $context);
于 2013-03-08T23:31:33.160 に答える
1

cURL を使用します。この関数は、file_get_contents の代替です。

function url_get_contents($Url) {
if (!function_exists('curl_init')){
    die('CURL is not installed!');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $Url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
$data = url_get_contents("http://www.bratm.sk/trochu-harlem-inspiracie-zaslite-nam-svoj-super-harlem-shake-ak-bude-husty-zverejnime-ho/");
print_r($data);
于 2013-03-08T23:36:42.497 に答える