Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > PHP > PHP и Юникод


Автор: romserg 12.08.16, 10:00
1. У меня проблема с loadHTMLFile:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    <?php
     echo "<font size=1>";
     $doc = new DOMDocument();
     $doc->loadHTMLFile("https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0");
     $links = $doc->getElementsByTagName("a");
     echo "</font><br><br>Ссылок: ".$links->length."<br><br>";
     for ($i = 0; $i < $links->length; $i++)
      {
       echo $links->item($i)->nodeValue."<br>";
       //mb_convert_encoding($links->item($i)->nodeValue, 'CP1251')."<br>";
       //iconv('UTF-8','CP1251',$links->item($i)->nodeValue)."<br>";
      }
    ?>

Вот просто хочу вывести ссылки со страницы. Но страница Вики - в Юникоде, и никак не могу сделать, чтобы корректно отображались национальные (и русские в т.ч.) символы! Как всё-таки отображать Юникод корректно через эти функции? mb_convert_encoding и iconv не помогли.


2. Решил выходную страницу сделать в кодировке utf-8. Сам файл php в ANSI (но в wordpress тоже все php-файлы в ANSI, а Юникод работает!). Но почему-то код php работает:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    <?php
    header('Content-Type: text/html; charset=utf-8');?>

, а просто указание в head
<meta charset="UTF-8"/>
не работает!

Автор: romserg 12.08.16, 20:03
Нашёл: http://forum.php.su/topic.php?forum=80&topic=1819

Автор: diel 03.09.16, 21:36
Можно еще в .htaccess

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    AddDefaultCharset utf-8

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)