вообще я только что САМ наткнулся на такой вот БАГ
и с UTF-8 он никак не связан
http://pecl.php.net/bugs/bug.php?edit=1&id=8417
считается что это виноват libxml
щас попробую списаться с автором бага
если бы под win32 libxml2 не была buil-in compiled то я бы дальше копнул
может быть в текущей версии это и поправили
с другой стороны... IMHO ничего страшного не произошло
вот такой код
PHP:
<?php
//write
$xml = new XMLWriter();
$xml->openMemory();
$xml->startDocument('1.0','UTF-8');
$xml->startElement('XML');
$xml->startElement('ELEMENT');
$xml->writeAttribute('attrib', 'кирилица атрибут');
$xml->endElement();
$xml->endElement();
$xml->endDocument();
$xml_string=$xml->outputMemory();
var_dump($xml_string);
//reading DOM
$dom=new DomDocument('1.0','UTF-8');
$dom->loadXML($xml_string);
var_dump($dom->documentElement->firstChild->getAttribute('attrib'));
//reading SimpleXML
$sxml = simplexml_load_string($xml_string);
var_dump($sxml->ELEMENT->attributes());
//reading MSXML COM
$ms= new COM("Microsoft.XMLDOM");
$ms->async=false;
$ms->loadXML($xml_string);
var_dump($ms->documentElement->firstChild->getAttribute('attrib'));
?>
показывает что при ЧТЕНИИ таких вот "кракозябликов", они вполне нормально резолвятся в 100% случаев