Ich habe gerade mein Encoding::FixLatin Perl-Modul überarbeitet, um mit überlangen UTF-8-Byte-Sequenzen umzugehen und sie in die kürzeste Normalform zu konvertieren.
Meine Frage ist ganz einfach "ist das eine schlechte Idee"?
Verschiedene Quellen (einschließlich diesem RFC) legen nahe, dass jedes überlange UTF-8 als Fehler behandelt und abgelehnt werden sollte. Sie warnen vor "naiven Implementierungen" und geben mir den Eindruck, dass solche Dinge grundsätzlich unsicher sind.
Da der gesamte Zweck meines Moduls darin besteht, unordentliche Datendateien mit gemischten Codierungen zu bereinigen und in schönes, sauberes utf8 zu konvertieren, scheint es mir nur eine weitere Sache zu sein, die ich bereinigen kann, damit die Anwendungsebene nicht damit umgehen muss. Mein Code kümmert sich nicht um irgendwelche semantische Bedeutung, die die resultierenden Zeichen haben könnten, er konvertiert sie einfach in eine normalisierte Form.
Entgeht mir etwas? Gibt es eine verborgene Gefahr, die ich nicht in Betracht gezogen habe?