Erkennung der Zeichencodierung in HTML
Lade ich eine HTML-Seite. Der HTTP-content-type-header gibt eine Zeichenkodierung, und die Seite hat einen meta
tag, das gibt ein anderes. Was ist der richtige Weg damit umzugehen?
Ich denke 'richtige' ist nicht das richtige Wort, denn keiner hält sich an die verdammt standards irgendwie... also, was ist die Art und Weise, dass verursacht mir die wenigsten Probleme?
- "niemand folgt den verdammt standards sowieso" ... traurig, aber so wahr!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tun das gleiche wie Web-Browsern zu tun: verwenden Sie den response-header. Bei HTML wird serviert-über-HTTP -, der meta-tag ignoriert, wenn die Antwort-header vorhanden ist. Nur, wenn die HTML ist zu Lesen von der lokalen Festplatte die Datei-system, das meta-tag genutzt wird. Dies ist auch ausdrücklich angegeben w3-HTML-spec.
Alle vorhandenen anständigen HTML-parser in welcher Sprache auch immer Sie verwenden, sollte schon Rücksicht nehmen. Nach Ihrer Frage, die die Geschichte Ihnen vertraut mit Java, würde ich dann vorschlagen zu greifen Jsoup für diese.