我不确定这是否是正确的行为以及如何有效地处理它。我在php中定义了一个xml解析器,它看起来像这样:
$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_TARGET_ENCODING, 'UTF-8');
xml_parser_set_option($xml_parser,XML_OPTION_SKIP_WHITE,1);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
(....)
function characterData($parser, $data){ print('<p>|' . $data . '|</p>');}
输入xml是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<fields><field name="address"><value>aą</value></field></fields>
输出如下:
|a|
|ą|
我期待它看起来像这样:
|aą|
为什么php将UTF-8编码的字符串拆分为单独的值?