Perhaps your problems could be addressed via the use of CDATA tags in your XML?
$str = '<![CDATA[' . strip_tags($str) . ']]>';
Also, make sure that the encoding attribute of your <?xml?> tag matches the character encoding of the source of your text. For example, if the text is coming from an input form on a web page, make sure that if that web page/form uses UTF-8 encoding then that your resultant XML page begins with:
<?xml version="1.0" encoding="UTF-8"?>