/ / Como detectar declaração de codificação incorreta? - asp.net, codificação de caracteres

Como detectar declaração de codificação incorreta? - asp.net, codificação de caracteres

Eu estou construindo um ASP.NET webservice carregando outras páginas da web e, em seguida, entregá-lo aos clientes. Eu tenho me saído muito bem com o tratamento de código de caracteres, lendo a meta tag do HTML, então use esse conjunto de códigos para ler o arquivo. Mas, no entanto, alguns usuários menos instruídos simplesmente não entendem conjuntos de código. Eles declaram um método de codificação específico, por exemplo, "gb2312", mas na verdade, ele está usando apenas UTF8 normal. Quando eu uso gb2312 para decodificar o texto, tudo acaba bagunça sagrada. Como posso detectar se o texto está corretamente decodificado? Carreguei essa página no meu IE, que usa corretamente o utf-8 para decodificar a página. Como isso alcança isso?

Respostas:

0 para resposta № 1

Com base no BOM, você pode dizer qual codificação é usada.

BOM e codificação

BOM e codificação

Se você quiser detectar o conjunto de caracteres, você pode usar a porta C # do detector de conjunto de caracteres do mozilla.

CharDetSharp

Se você quer ter mais certeza de que você éusando um correto, você pode estar procurando por caracteres especiais que não deveriam estar lá. Não é muito provável que inclua "³ké". Então você poderia estar procurando por tais caracteres e tentar usar codificação / conjunto de caracteres diferente para processar seu arquivo.

Na verdade, é realmente difícil tornar sua aplicação completamente à prova de erros.