I am trying to get search results from yahoo.com.
But file_get_contents() converts UTF-8 charset (charset, that yahoo uses) content to ISO-8859-1.<
This seems to be a content negotiation problem as file_get_contents
probably sends a request that only accepts ISO 8859-1 as character encoding.
You can create a custom stream context for file_get_contents
using stream_context_create that explicitly states that you accept UTF-8:
$opts = array('http' => array('header' => 'Accept-Charset: UTF-8, *;q=0'));
$context = stream_context_create($opts);
$filename = "http://search.yahoo.com/search;_ylt=A0oG7lpgGp9NTSYAiQBXNyoA?p=naj%C5%A1%C5%A5astnej%C5%A1%C3%AD&fr2=sb-top&fr=yfp-t-701&type_param=&rd=pref";
echo file_get_contents($filename, false, $context);