dedlfix: Falsch kodierten User-Input "retten"

Beitrag lesen

Hi!

ich habe ein ziemlich vertracktes Problem in Javascript mit Zeichenkodierungen.

Javascript interessiert sich nicht für Zeichenkodierungen. Es läuft üblicherweise im Browser und es ist seine Aufgabe die Ressourcen passend zu interpretieren.

Unsere Library behandelt alle Zeichen korrekt, sofern der richtige Zeichensatz gesetzt ist.

Anzunehmenderweise in den zuständigen HTTP-Headerzeilen der vom Browser zu lesenden Ressource.

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.

Wo auch immer die Ressource herkommt, der Browser muss sie zunächst lesen. Dabei gibt es eingebaute Mechanismen, die zuerst die Zeichenkodierung aus den offiziellen Angaben zu entnehmen versuchen und anschließend raten. Außerdem kann man oft noch händisch die Kodierung wählen. Wenn du allerdings aufgrund von Mechanismen beim "Einlesen" (wie auch immer das stattfindet) gar nicht händisch umstellenkannst, ist alles zu spät.

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

Serverseitige Verarbeitung steht nicht zur Verfügung? Die könnte die Bytes einzeln lesen und wie auch immer interpretieren, was Javascript von Haus aus nicht kann.

Lo!