Ein Tier von mir schaut sich so viele Softwareprojekte an, die Berge von Code für die Unterstützung von Zeichensätzen haben. Verstehen Sie mich nicht falsch, ich bin alle für die Kompatibilität, und ich bin froh, dass Sie mit Texteditoren Dateien in mehreren Zeichensätzen öffnen und speichern können. Was mich ärgert, ist, dass die Verbreitung von nicht universellen Zeichenkodierungen eher als "richtige Unicode-Unterstützung" als als "Problem" bezeichnet wird.
Lassen Sie mich zum Beispiel auf PostgreSQL und dessen Zeichensatzunterstützung eingehen . PostgreSQL befasst sich mit zwei Arten von Codierungen:
- Client-Codierung: Wird für die Kommunikation zwischen dem Client und dem Server verwendet.
- Serverkodierung: Zum internen Speichern von Text in der Datenbank.
Ich kann verstehen, warum es eine gute Sache ist, viele Client-Codierungen zu unterstützen. Es ermöglicht Clients, die nicht in UTF-8 arbeiten, mit PostgreSQL zu kommunizieren, ohne selbst eine Konvertierung durchführen zu müssen. Was ich nicht bekomme, ist: Warum unterstützt PostgreSQL mehrere Serverkodierungen ? Datenbankdateien sind (fast immer) von einer PostgreSQL-Version zur nächsten inkompatibel, daher ist die versionsübergreifende Kompatibilität hier nicht das Problem.
UTF-8 ist der einzige standardmäßige, ASCII-kompatible Zeichensatz, der alle Unicode-Codepunkte codieren kann (wenn ich mich irre, lassen Sie es mich wissen). Ich bin im Lager, dass UTF-8 der beste Zeichensatz ist, aber ich bin bereit, mich mit anderen universellen Zeichensätzen wie UTF-16 und UTF-32 abzufinden.
Ich glaube, dass alle nicht universellen Zeichensätze veraltet sein sollten. Gibt es einen zwingenden Grund, warum sie es nicht sollten?