Все привет. Экспериментирую тут со скриптом отображения чужих ссылок на своем сайте: Код (PHP): $node = file_get_contents($link); $node = str_ireplace('src="/', 'src="http://'.parse_url($link, PHP_URL_HOST).'/', $node); $node = str_ireplace('href="/', 'href="http://'.parse_url($link, PHP_URL_HOST).'/', $node); echo $node; Некоторые сайты работают нормально, например php.ru - http://akeelow.ru/cs/index.php?page=17 страница показывается вопросами вместо текста. Как-то можно автоматом перековертировать текст?
Оказалось что если в браузере поменять кодировку на Windows-1251, то страница показывается правильно и текст читается. Почему же браузер не может сам определить как показывать страницу? Но это вопрос наверно для другого сайта. Добавлено спустя 31 минуту 47 секунд: В общем проблему вроде решил, прикрутил такой костыль, пока работает Код (PHP): if (stristr($node, "windows-1251")) header("Content-Type: text/html; charset=Windows-1251"); Какие могут возникнуть проблемы с таким решением?
Пробовал такую функцию: Код (PHP): <?php function file_get_contents_utf8($fn) { $content = file_get_contents($fn); return mb_convert_encoding($content, 'UTF-8', mb_detect_encoding($content, 'Windows-1251, CP1251, UTF-8, ISO-8859-1', true)); } ?> Так и не смог заставить ее работать
Что, простите? Добавлено спустя 43 минуты 16 секунд: А понял, это функция такая. Он так же не может работать с любым текстом. Придется сначала узнать кодировку, а потом перекодировать. Т.е. код она не упрощает. Но спасибо, буду знать что такое тоже бывает.
попробуйте сначала: 1) прописать в .htaccess => AddDefaultCharset КОДИРОВКА_ваша 2) получить содержимое и сохранить в файл.. содержимое должно сохраняться в такой кодировке в какой указали
Это метод который конвертирует в указываемую кодировку, с той которая указанна в принимаемом содержимом. Проверить кодировку автоматически можно только собрать все существующие кодировки, собрать в массив и проанализировать содержимое.