[php-src] Issue #11263: XMLReader::readOuterXml() parser error : PCDATA invalid Char value 208 on UTF-8 documents
| From: | mihas2 | Date: | Wed, 17 May 2023 18:04:23 +0000 |
| Subject: | [php-src] Issue #11263: XMLReader::readOuterXml() parser error : PCDATA invalid Char value 208 on UTF-8 documents | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-244474@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/11263
Author: mihas2
### Description
An error occurs when reading from file the text in the body of the tag, if the text is without CDATA
and in UTF-8 encoding:
PHP_VERSION: 8.1.18
LIBXML_VERSION: 21102
LIBXML_NOXMLDECL: 2
PHP_VERSION: 8.1.19
LIBXML_VERSION: 21103
LIBXML_NOXMLDECL: 2
PHP script:
```php
<?php
const FILE = 'xml.xml';
stream_context_set_default(['ssl' => ['verify_peer' => false,
'verify_peer_name' => false]]);
if (!$reader = XMLReader::open(FILE)) {
throw new RuntimeException('Error open file:' . FILE);
}
while ($reader->read()) {
print $reader->name . " " . $reader->nodeType . "\n";
print $reader->value. "\n";
}
print "PHP_VERSION: ".PHP_VERSION."\n";
print "LIBXML_VERSION: ".LIBXML_VERSION."\n";
print "LIBXML_NOXMLDECL: ".LIBXML_NOXMLDECL."\n";
```
xml:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE yml_catalog
SYSTEM "shops.dtd">
<yml_catalog date="2023-05-17 08:00">
<shop>
<name>SOME NAME</name>
<company>SOME COMPANY</company>
<url>https://some.site</url>
<currencies>
<currency id="FFF" rate="1"/>
</currencies>
<categories>
<category id="3" parentId="0">Банкетки,
пуфы</category>
</categories>
<offers>
<offer>
<description>ИЗЫСКАННЫЙ АНГЛИЙСКИЙ СТИЛЬ. Именно его
предпочитали известные монархи прошлого: королевы
Анна и Виктория, короли Георг I, Георг II. Роскошь,
великолепие орнаментов и деталей, благородные
натуральные оттенки и материалы, подлинная
королевская элегантность эта мебель для людей с
прекрасным вкусом и аристократическим характером.
УНИКАЛЬНОСТЬ МЕБЕЛИ ТАУЭР. Мы тщательно и
вдохновлённо работали над внешним видом прихожей
Тауэр, чтобы передать эстетику роскошных, уютных и
практичных английских домов. Фурнитура выполнена из
испанской латуни, отделка из высококачественной
эко-кожи. Шарм придают изысканные каннелюры из массива
бука. Тауэр великолепное произведение искусства,
соединение кропотливого труда искусных мастеров и
уточнённой фантазии дизайнера. ТЕХНИКА ОБИВКИ CAPITONE.
Техника была создана ещё в середине восемнадцатого
века во времена правления императора Наполеона III. Она
сразу же стала олицетворением богатства, шика и
роскоши. В России ее называли каретной стяжкой из-за
того, что таким способом часто украшали внутреннее
убранство карет. КОМФОРТ И ПРЕЗЕНТАБЕЛЬНОСТЬ.
Прихожая Тауэр сочетает в себе благородство
королевских дворцов и современное удобство. Она
послужит идеальным местом для отдыха, хранения
предметов Вашего гардероба и станет любимой деталью
интерьера. Гарантируем она очарует вас антуражем
английской классики. КУПИТЕ ПРИХОЖУЮ ТАУЭР С
ДОСТАВКОЙ НА ОФИЦИАЛЬНОМ САЙТЕ BOGACHO ПРЯМО СЕЙЧАС. .
*Габаритные размеры моделей могут отличаться от
заявленных в пределах 2 см</description>
<barcode>333333</barcode>
<param name="net_weight" unit="kg">57</param>
<param name="net_width" unit="cm">110</param>
<param name="net_height" unit="cm">200</param>
<param name="net_deep" unit="cm">20</param>
<param name="gross_weight" unit="kg">41</param>
<param name="gross_width" unit="cm">210</param>
<param name="gross_width_2" unit="cm">0</param>
<param name="gross_height" unit="cm">123</param>
<param name="gross_height_2" unit="cm">0</param>
<param name="gross_deep" unit="cm">26</param>
<param name="gross_deep_2" unit="cm">0</param>
</offer>
</offers>
</shop>
</yml_catalog>
```
### PHP Version
PHP 8.1.18, 8.1.19
### Operating System
fpm-alpine (docker image)