Вы должны добавить раздел CDATA к нужному элементу:
$dom = new DOMDocument('1.0', 'utf-8');
$dom->appendChild($dom->createElement('translations'))
->appendChild($dom->createElement('denmark'))
->appendChild($dom->createElement('error'))
->appendChild($dom->createCDataSection('ä å'));
$dom->formatOutput = true;
echo $dom->saveXml();
Выход:
<?xml version="1.0" encoding="utf-8"?>
<translations>
<denmark>
<error><![CDATA[ä å]]></error>
</denmark>
</translations>
Но при использовании UTF-8 не должно быть необходимости ставить ä и å в секции CDATA:
$dom = new DOMDocument('1.0', 'utf-8');
$dom->appendChild($dom->createElement('translations'))
->appendChild($dom->createElement('denmark'))
->appendChild($dom->createElement('error', 'ä and å'));
$dom->formatOutput = true;
echo $dom->saveXml();
Выходы совершенно действительны:
<?xml version="1.0" encoding="utf-8"?>
<translations>
<denmark>
<error>ä and å</error>
</denmark>
</translations>