ID: 39565 Updated by: [EMAIL PROTECTED] Reported By: sotiwin at freemail dot hu Status: Open -Bug Type: Documentation problem +Bug Type: XML related Operating System: Windows XP PHP Version: 5.2.0 New Comment:
Fortunately it wouldn't break BC. If you want to put the whole string to one item you need to concatenate it currently. If the whole string would be returned at once there's nothing to concatenate so the result is the same. Previous Comments: ------------------------------------------------------------------------ [2007-08-17 13:31:58] [EMAIL PROTECTED] If it was changed we'd break BC. Documentation issue. ------------------------------------------------------------------------ [2007-08-17 11:53:35] [EMAIL PROTECTED] This behavior is wrong - all character data should be passed at once. ------------------------------------------------------------------------ [2006-11-21 12:27:15] sotiwin at freemail dot hu Really? How could I parse an xml with accented data? Can I get the whole word in one piece? ------------------------------------------------------------------------ [2006-11-21 08:17:08] [EMAIL PROTECTED] This is expected behavior, although we should definitely document this in a bit better way - changing it to a documentation problem. ------------------------------------------------------------------------ [2006-11-21 02:16:31] sotiwin at freemail dot hu Description: ------------ I want to parse an xml, with accentuated letters, but the parser cuts the characters before the first accentuated letter of each 'characterData'. I use Wamp5 with php 5.1.6. Reproduce code: --------------- <meta http-equiv="Content-type" value="text/html; charset=ISO-8859-1" /> <?php function characterData($parser, $data) { echo $data.'1'; } $data='<?xml version="1.0" encoding="ISO-8859-1"?><book>Exampleéá</book>'; echo 'XML input:<br>'.$data; $xml_parser = xml_parser_create('ISO-8859-1'); xml_parser_set_option($xml_parser,XML_OPTION_SKIP_WHITE,1); xml_set_character_data_handler($xml_parser,'characterData'); echo '<br>Parsed data:<br>'; if (!xml_parse($xml_parser, $data)) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } xml_parser_free($xml_parser); ?> Expected result: ---------------- characterData could have run only once. XML input: Exampleéá Parsed data: Exampleéá1 Actual result: -------------- characterData could have runs twice. XML input: Exampleéá Parsed data: Example1éá1 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39565&edit=1