Bug #18387 Updated: Incorrect work with xml encoding

From: Date: Wed, 17 Jul 2002 20:11:16 +0000
Subject: Bug #18387 Updated: Incorrect work with xml encoding
References: 1  Groups: php.bugs php.doc 
Request: Send a blank email to php-bugs+get-14447@lists.php.net to get a copy of this message
ID: 18387 Updated by: chregu@php.net Reported By: svazulia@tvc.ru Status: Open Bug Type: Documentation problem Operating System: Windows (98,2000) PHP Version: 4.2.1 New Comment: ooops. the text goes even further on that page: "More over when compiled on an Unix platform with iconv support the full set of encodings supported by iconv can be instantly be used by libxml. On a linux machine with glibc-2.1 the list of supported encodings and aliases fill 3 full pages, and include UCS-4, the full set of ISO-Latin encodings, and the various Japanese ones." But that won't help the original poster since he's using windows.. chregu Previous Comments: ------------------------------------------------------------------------ [2002-07-17 16:09:05] chregu@php.net Just for the record: From http://xmlsoft.org/encoding.html: Default supported encodings [by libxml2] libxml has a set of default converters for the following encodings (located in encoding.c): 1. UTF-8 is supported by default (null handlers) 2. UTF-16, both little and big endian 3. ISO-Latin-1 (ISO-8859-1) covering most western languages 4. ASCII, useful mostly for saving 5. HTML, a specific handler for the conversion of UTF-8 to ASCII with HTML predefined entities like &copy; for the Copyright sign. chregu ------------------------------------------------------------------------ [2002-07-17 14:01:18] sniper@php.net reclassified ------------------------------------------------------------------------ [2002-07-17 13:48:52] flying@dom.natm.ru I think it is expected behaviour. According to XML specification the only encodings, XML parsers must support are UTF-8 and UTF-16. libxml2 by default supports them and iso-8859-1. So you should workaround your problem by converting your XML documents to UTF-8 (you can also do it on the fly using iconv() function). 2 PHP Developers: I think this bug should be moved to "Documentation problem" category, because documentation miss this important note about list of supported encodings and how to handle documents with other encodings. ------------------------------------------------------------------------ [2002-07-17 03:55:14] svazulia@tvc.ru short script: <?php if(!$dom = domxml_open_file("b00000000001.xml")) { echo "Error while parsing the document\n"; exit; } $root = $dom->document_element(); print_r($root); ?> return: "Error while parsing the document" when xml document has encoding option, like this: <?xml version="1.0" encoding='WINDOWS-1251' ?> without "encoding='WINDOWS-1251'" it work ok. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=18387&edit=1

« previous php.bugs (#14447) next »