Wie man htmltidy daran hindert, Umlauts zu konvertieren (zB ü uuml;)
-
20-09-2019 - |
Frage
Auf unserer Website wird die Eingabe des Benutzers über htmltidy ausgeführt, um ihn zu reinigen. Anscheinend verursacht es dabei auch Schmerzen für unsere internationalen Abonnenten, indem sie umlauts umgewandelt werden. Gibt es eine Option, die HTMLTIDY angeben kann, um dies nicht zu tun?
Ich habe mit allen möglichen Optionen eine Charactercodierung ausprobiert, aber nichts scheint zu funktionieren.
Lösung
Geben Sie in der Konfigurationsdatei einfach eine Ausgabecodierung an (Eingabecodierung ist optional):
input-encoding: win1252
output-encoding: latin1
Eine Übersicht über verfügbare Encodings finden Sie in der Ausgabe-kodierende Dokumentation.
BEARBEITEN: Also benutzt du die .NET -Bindungen. Es sind die gleichen Einstellungen:
Document d = new Document(new FileStream("in.html", FileMode.Open));
d.InputCharacterEncoding = EncodingType.Utf8;
d.OutputCharacterEncoding = EncodingType.Win1252;
d.CleanAndRepair();
d.Save("out.html");
Mit den richtigen Codiers erhalten Sie das richtige Ergebnis ohne ü
und dergleichen.