I'm developing an application that makes some SOAP requests. One service response was being received broken because a charset issue. Although charset header was UTF-8, the XML was encoded in Windows-1252. In SOAP UI it's handled gracefully because it knows how to parse raw strings to default system's encode. I struggled hard to find out how SOAP UI detects and manages to convert a string from some charset to system's default one but I couldn't. Does someone know how it happens?