Bug #18387 Updated: Incorrect work with xml encoding
| From: | chregu@php.net | 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 © 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