When writing XML, all text should be converted to UTF8 if it's not coming from a known source. This blog post provides a ruby function to do the conversion.
Ruby 1.9 character encoding field notes · Fingertips
The biggest problem with receiving data from external sources is trust. Sources can lie about their encoding or provide broken data. Sometimes it gets mangled accidentally and sometimes someone is attacking your application with a carefully crafted payload.