Приветствую!
Подскажите, пожалуйста, каким образом можно исправить кодировку получаемого текста?
По запросу
$content = file_get_contents('http://vk.com/foaf.php?id=1');
мне нужна строчка из
<foaf:name></foaf:name>
Сам код выглядит
так:<?
$content = file_get_contents('http://vk.com/foaf.php?id=1');
preg_match_all('#<foaf:name>(.+?)</foaf:name>#is', $content, $arr);
print_r($arr[1]);
?>
или
так:<?
$content = file_get_contents('http://vk.com/foaf.php?id=529113');
$pos = strpos($content, '<foaf:name>');
$content = substr($content, $pos);
$pos = strpos($content, '</foaf:name>');
$content = substr($content, 0, $pos);
$content = str_replace('текст который нужно вырезать','', $content);
//$content = iconv("utf-8","windows-1251",$content); //Смена кодировки
print $content;
?>
Но на выходе я получаю знаки вопроса вместо кириллицы. Латиница же отображается как следует.
Не могу понять, причину. Вернее понятно, что проблема в кодировке. Но решить этот вопрос не удается.
Что пробовал:
Менял кодировку с utf-8 на windows-1251. Прописывал в исходном файле
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">.
, указывал в коде
<?header("Content-type:text/html; charset=windows-1251");?>
. Менял кодировку самого файла. В коде пробовал менять кодировку возможностями самого php
$content1 = iconv("utf-8","windows-1251",$content); //Смена кодировки
Создавал .htacces. В нем писал
AddDefaultCharset windows-1251
и
PHP_VALUE default_charset windows-1251
Но результат один, несчастные знаки ������ �������...