Como impedir que a Htmltidy converte umlauts (por exemplo, para & uuml;)
-
20-09-2019 - |
Pergunta
Nosso site executa a entrada do usuário via htmltidy para limpá -lo. Aparentemente, enquanto faz isso, também causa dor para nossos assinantes internacionais convertendo umlauts. Existe alguma opção para especificar para htmltidy não fazer isso?
Tentei o CharacterEncoding com todas as opções possíveis, mas nada parece estar funcionando.
Solução
Basta fornecer uma codificação de saída (a codificação de entrada é opcional) no arquivo de configuração:
input-encoding: win1252
output-encoding: latin1
Para uma visão geral das codificações disponíveis, observe o Documentação de codificação de saída.
EDITAR: Então você está usando o .NET ligações. São as mesmas configurações:
Document d = new Document(new FileStream("in.html", FileMode.Open));
d.InputCharacterEncoding = EncodingType.Utf8;
d.OutputCharacterEncoding = EncodingType.Win1252;
d.CleanAndRepair();
d.Save("out.html");
Com o conjunto de codificações corretas, você obterá o resultado correto, sem ü
e similar.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow