Serviço da Web ASMX usando codificação incorreta na solicitação de entrada

Meu webservice .NET está aceitando solicitações de um cliente sobre o qual não tenho controle direto. Está enviando um pedido assim:

<code>POST /Service.asmx HTTP/1.1
Connection: Keep-Alive
Pragma: no-cache
Content-Length: 1382
Content-Type: text/xml
Accept: text/xml
Host: localhost
User-Agent: Borland SOAP 1.1
SOAPAction: "http://domain.com/InsertRecords"

<?xml version="1.0"?>
<SOAP-ENV:Envelope... <v>ÄLMÅ BÄCK</v></SOAP-ENV:Envelope>
</code>

No meu WebMethod, a string ÄLMÅ BÄCK é mungada para ?? LM ?? B ?? CK - confusão típica de codificação.

Nos meus testes, descobri que, se simplesmente ajusto o cabeçalho do tipo de conteúdo, tudo está bem:

<code>Content-Type: text/xml; charset=utf-8
</code>

Por que o .NET está escolhendo uma codificação diferente de utf-8 quando não é especificado, e existe alguma maneira de coagir esse ASMX a usar a codificação UTF-8?

questionAnswers(2)

yourAnswerToTheQuestion