Не могу понять почему не получается отобразить текст в читабельный вид, методом iconv... также мне интересно почему строка не преобразовывается с использованием метода iconv в нужную кодировку(windows-1251) Код (Text): <?php header('Content-Type: text/html; charset=windows-1251'); $text = "=CF=F0=E8=E2=E5=F2. tails"; // привет.tails; echo "<p/>".mb_detect_encoding($text)."<br/>"; // CP1251 $text = str_replace( "=","&#x", $text); //--------------------------- $text = iconv(mb_detect_encoding($text),"windows-1251",$text); echo $text; // --------------------------- echo "<p/>".mb_detect_encoding($text)."<br/>"; // CP1251 // -------------------------- $text = iconv(mb_detect_encoding($text),"UTF-8",$text); echo $text; // --------------------------- echo "<p/>".mb_detect_encoding($text)."<br/>" ; // CP1251, хотя должно по идее быть UTF-8 ?> Код (Text): ASCII Ïðèâåò. tails ASCII Ïðèâåò. tails ASCII файл сам сохранен в код. UTF-8. исп. phpStorm... PS: в первый на этом форуме
1. mb_detect_encoding без списка проверяемых кодировок это бесполезная вещь 2. твой проверяемый текст реально в ASCII ))) ну правда. там все символы из 7-битного набора. (а "\xCF\xF0\xE8\xE2\xE5\xF2. tails" это "привет. tails" уже в кодировке windows-1251. куда ты собрался перекодировать?) 3. отлаживай свои скрипты пошагово. не надо городить сразу кучу кода. контролируй промежуточные результаты и всегда заглядывай в исходный текст страницы, а не в то, что отрендерит браузер! ты какую-то нелепую работу пытаешся провернуть, непонятно чем тебе можно помочь.
это однобайтное представление. то есть конверт ок. вот только заголовок ответа или прочее содержимое страницы заставляют браузер включить режим юникода, поэтому сипи1251 отображается вот этими диакритическими глифами.
Ganzal хотел сказать, что header('Content-Type: text/html; charset=windows-1251'); не сработал. ))) твой текст уже в кодировке windows-1251, но браузер пытается отобразить его в utf-8. почему? наверное какой-то вывод есть до header().