Una mascota mía está mirando tantos proyectos de software que tienen montañas de código para el soporte de juegos de caracteres. No me malinterpreten, estoy a favor de la compatibilidad, y estoy feliz de que los editores de texto le permitan abrir y guardar archivos en múltiples conjuntos de caracteres. Lo que me molesta es cómo la proliferación de codificaciones de caracteres no universales se denomina "soporte Unicode adecuado" en lugar de "un problema".
Por ejemplo, permítanme elegir PostgreSQL y su compatibilidad con juegos de caracteres . PostgreSQL trata con dos tipos de codificaciones:
- Codificación del cliente: se utiliza en la comunicación entre el cliente y el servidor.
- Codificación del servidor: se utiliza para almacenar texto internamente en la base de datos.
Puedo entender por qué apoyar una gran cantidad de codificaciones de clientes es algo bueno. Permite a los clientes que no operan en UTF-8 comunicarse con PostgreSQL sin necesidad de realizar la conversión. Lo que no entiendo es: ¿por qué PostgreSQL admite múltiples codificaciones de servidor ? Los archivos de base de datos son (casi siempre) incompatibles de una versión de PostgreSQL a la siguiente, por lo que la compatibilidad entre versiones no es el problema aquí.
UTF-8 es el único juego de caracteres estándar compatible con ASCII que puede codificar todos los puntos de código Unicode (si estoy equivocado, hágamelo saber). Estoy en el campo de que UTF-8 es el mejor conjunto de caracteres, pero estoy dispuesto a soportar otros conjuntos de caracteres universales como UTF-16 y UTF-32.
Creo que todos los juegos de caracteres no universales deberían ser obsoletos. ¿Hay alguna razón convincente para que no lo hagan?