Ver2felt: Falsch kodierten User-Input "retten"

Beitrag lesen

Hallo Forum,

ich habe ein ziemlich vertracktes Problem in Javascript mit Zeichenkodierungen. Unsere Library behandelt alle Zeichen korrekt, sofern der richtige Zeichensatz gesetzt ist. Jetzt hat sich aber in den Tests mit Benutzern herausgestellt, dass diese die wildesten Kombinationen aus angegebener Kodierung der Webseite (per Meta-Tag) und tatsächlicher Kodierung der Datei produzieren können. Dies soll nun abgefangen werden und "verhindert" werden, bzw. gerettet werden.

Konkret:
Ich habe eine HTML-Datei, die die Skript-Library einbindet und mittels
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
vom DAU auf angeblich UTF-8 kodiert gesetzt wurde. Die HTML-Datei selber ist aber als "ANSI" (laut Texteditor) gespeichert und dementsprechend sind alle Strings falsch kodiert, werden aber im Editor richtig angezeigt.

Sobald ich den String irgendwie analysieren will, werden die ANSI-Zeichen in das Unicode-Zeichen \uFFFD umgewandelt (Replacement Character) und ich habe keine Möglichkeit mehr, an das "wirkliche" Zeichen zu kommen, um es z.B. einer ISO-8859-1-zu-UTF-8-Kodierung zu unterziehen.

Gibt es eine Möglichkeit, in Javascript diese Strings zu retten?

Grüße