DOMDocument кодировка при сохранении в HTML

PHP поддерживает работу с классом DOMDocument, но есть некоторые особенности, которые требуют внимания. Одна из них — это html кодирование символов, если вы не укажете в заголовке документа мета информацию о кодировке.

Рассмотрим пример:

В зависимости от того, в какой кодировке был ваш текст, получится разный результат. Вот пример, когда ваш текст был в win-1251:

А вот пример для исходного текста в UTF-8:

Видно, что кириллические символы представлены в виде 16ти-ричных HTML кодов.

Почему вывелась не исходная кириллица, а была произведена перекодировка? Произошло это от того, что программа не знает, какая кодировка должна быть у документа — она ведь не указана. Для функции saveHTML() её нужно указать в секции документа head, как meta-тэг:

Если указанная кодировка в meta совпадает с кодировкой текста, то вы получите на выходе:

Мало букафф? Читайте есчо !

Восстанавливаем объект из состояния __PHP_Incomplete_Class_Name

Декабрь 13, 2014 г.

Объект класса "__PHP_Incomplete_Class" с дополнительным свойством __PHP_Incomplete_Class_Name => 'имя класса' появляется, когда PHP не удается найти объявление класса при операции десериализации объекта. К примеру, такое может происходить при хранении ...

Читать

Как произвести в PHP HTTP авторизацию в запросе через curl

Сентябрь 17, 2020 г.

Пример кода, выполняющий HTTP авторизацию при запросе через curl. Этот тип авторизации также известен как BASIC. Для формирования правильных заголовков запроса вам потребуется правильно установить две опции curl: CURLOPT_HTTPAUTH и CURLOPT_USERPWD. ...

Читать

Поиск дубля в массиве на PHP

Июнь 20, 2017 г.

Оказывается, очень частая задача в тестовых заданиях соискателей - это поиск дубля в массиве. В зависимости от нюансов конкретного задания, могут просить: найти все дубли или один единственный дубль; использовать в решении самый быстрый алгоритм; ...

Читать

Что использовать вместо mysql_escape_string() в Drupal 7?

Сентябрь 6, 2016 г.

Начиная с версии PHP 4.3.0, функция mysql_escape_string() считается устаревшей. PHP будет выдавать соответствующее предупреждение. Deprecated function: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. Т.е. ...

Читать
 

Комментарии к «DOMDocument кодировка при сохранении в HTML»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: