So yeah, I read up on the rest of the thread instead of just replying to the issue at hand and I realized the old issue never got properly fixed. The two are separate issues, the most recent one due to encoding.
To fix the old issue, you need to escape the ampersand symbol in the HTML character entity. XML only has 5 entities < > & ' " (<, >, &, ', "), the XML parser got confused when it saw the non-XML defined character entity. It's a good idea to replace all instances of any of these reserved characters with their XML entities. In this case, ° would become ° but when the XML gets parsed, it goes back to looking like °.
To fix the more recent issue, see my post above, the XML encoding should be utf-8 to allow for the ™ symbol (which was not a HTML entity in this case).