Mój wkurzony zwierzak patrzy na tak wiele projektów oprogramowania, które mają góry kodu do obsługi zestawu znaków. Nie zrozum mnie źle, jestem za zgodą i cieszę się, że edytory tekstu pozwalają otwierać i zapisywać pliki w wielu zestawach znaków. Denerwuje mnie to, jak rozprzestrzenianie się nie uniwersalnych kodowań znaków jest oznaczone jako „właściwe wsparcie Unicode”, a nie „problem”.
Na przykład pozwól mi wybrać PostgreSQL i obsługę zestawu znaków . PostgreSQL zajmuje się dwoma typami kodowania:
- Kodowanie klienta: Używany w komunikacji między klientem a serwerem.
- Kodowanie na serwerze: służy do wewnętrznego przechowywania tekstu w bazie danych.
Rozumiem, dlaczego obsługa wielu kodowań klientów jest dobra. Umożliwia klientom, którzy nie działają w UTF-8, komunikowanie się z PostgreSQL bez konieczności przeprowadzania konwersji. Nie rozumiem: dlaczego PostgreSQL obsługuje wiele serwerów kodowanie ? Pliki bazy danych (prawie zawsze) są niekompatybilne z jedną wersją PostgreSQL do następnej, więc zgodność między wersjami nie jest tutaj problemem.
UTF-8 to jedyny standardowy zestaw znaków zgodny z ASCII, który może kodować wszystkie punkty kodowe Unicode (jeśli się mylę, daj mi znać). Jestem w obozie, że UTF-8 jest najlepszy zestawem znaków, ale jestem gotów znosić inne uniwersalne zestawy znaków, takie jak UTF-16 i UTF-32.
Uważam, że wszystkie nie uniwersalne zestawy znaków powinny być przestarzałe. Czy jest jakiś ważny powód, dla którego nie powinni?