A small update: I haven't found the solution, but I have found the problem: the recipient expects ISO-8859-1 encoding except for certain characters, such as the Euro symbol, which is encoded in cp1252. With arbitrary non-standard encoding I think the problem is with the recipient.