ID: 43347 Updated by: [EMAIL PROTECTED] Reported By: pschmandra at hotmail dot com Status: Open Bug Type: XML related Operating System: Red Hat Linux Enterprise 5 PHP Version: 5.1.6 New Comment:
Please show an example of your XML Previous Comments: ------------------------------------------------------------------------ [2007-11-20 18:49:11] pschmandra at hotmail dot com All supported encodings listed below cause the xml_parse() function to error out parsing any Chinese Traditional RSS Feeds published by the BBC using PHP5.1.6 with a UTF-8 default_charset. xml_parser_create() xml_parser_create('') xml_parser_create('UTF-8') xml_parser_create('ISO-8859-1') xml_parser_create('US-ASCII') ------------------------------------------------------------------------ [2007-11-20 17:56:22] [EMAIL PROTECTED] Please also read http://php.net/manual/en/function.xml-parser-create.php carefully, especially: *** The optional encoding specifies the character encoding for the input/output in PHP 4. Starting from PHP 5, the input encoding is automatically detected, so that the encoding parameter specifies only the output encoding. In PHP 4, the default output encoding is the same as the input charset. If empty string is passed, the parser attempts to identify which encoding the document is encoded in by looking at the heading 3 or 4 bytes. In PHP 5.0.0 and 5.0.1, the default output charset is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII. *** ------------------------------------------------------------------------ [2007-11-20 16:49:39] [EMAIL PROTECTED] What was the full configure line used to configure PHP in this case? And I don't see any crash there, just a normal error for passing data with encoding which isn't supported by the xml library in use.. ------------------------------------------------------------------------ [2007-11-20 14:58:22] pschmandra at hotmail dot com Description: ------------ After upgrading PHP5 the xml_parse() parser throws Warning: xml_parse() [function.xml-parse]: input conversion failed due to input error, bytes 0xA3 0xEE 0x7D 0x5F when parsing Chineese Traditional BBC News Feed. newsrss.bbc.co.uk/rss/chinese/trad/taiwan_hk/rss.xml. This function works perfectly using PHP4. Googling this error brings ~800 similar results. Reproduce code: --------------- if(!xml_parse($this->feedReader, $BBC_data)){ $this->in_error = true; $this->error_msg = sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($this->feedReader)), xml_get_current_line_number($this->feedReader)); } Expected result: ---------------- Expect xml_parse() function to parse feed without crashing ala PHP4. Actual result: -------------- xml_parse() function crashes throwing Warning: xml_parse() [function.xml-parse]: input conversion failed due to input error, bytes 0xA3 0xEE 0x7D 0x5F ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=43347&edit=1