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

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

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

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

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

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

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

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

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

Загрузка-выгрузка в формате excel из PHP

Август 25, 2017 г.

Встроенные библиотеки PHP не позволяют работать с форматами данных популярного табличного процессора Excel. За исключением текстового формата CSV (см. ...

Читать

Считаем полное число строк в запросе MySQL, ограниченного LIMIT

Ноябрь 2, 2012 г.

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

Читать

Досрочный выход, остановка цикла в PHP

Ноябрь 11, 2015 г.

Досрочно закончить исполнение цикла в PHP можно разными способами. Хотя конструкций циклов в PHP много, но принципы одинаковые. Для примера будем использовать цикл for. [crayon-687ada8009500314189418/] Цикл досрочно завершится с помощью оператора break ...

Читать

Можно ли вызвать статический метод trait в php, не подключая его к какому то классу?

Май 27, 2025 г.

Если коротко - нельзя. Вызвать какой метод трейта напрямую без подключения его к классу невозможно, т.к. трейты в PHP не являются самостоятельными сущностями, как классы или объекты. Трейт — это механизм "вклейки" кода в класс. Он не компилируется ...

Читать
 

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

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



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