Uma mina de estimação está olhando para tantos projetos de software que possuem montanhas de código para suporte a conjuntos de caracteres. Não me interpretem mal, sou a favor da compatibilidade e fico feliz que os editores de texto permitam abrir e salvar arquivos em vários conjuntos de caracteres. O que me incomoda é como a proliferação de codificações de caracteres não universais é rotulada como "suporte adequado a Unicode" em vez de "um problema".
Por exemplo, deixe-me escolher o PostgreSQL e seu suporte ao conjunto de caracteres . O PostgreSQL lida com dois tipos de codificação:
- Codificação do cliente: usada na comunicação entre o cliente e o servidor.
- Codificação do servidor: usada para armazenar texto internamente no banco de dados.
Entendo por que é bom dar suporte a muitas codificações de clientes. Permite que os clientes que não operam no UTF-8 se comuniquem com o PostgreSQL sem precisar realizar a conversão. O que não entendo é: por que o PostgreSQL suporta várias codificações de servidor ? Os arquivos de banco de dados são (quase sempre) incompatíveis de uma versão do PostgreSQL para a próxima, portanto, a compatibilidade entre versões não é o problema aqui.
UTF-8 é o único conjunto de caracteres padrão compatível com ASCII que pode codificar todos os pontos de código Unicode (se estiver errado, avise-me). Estou no campo em que UTF-8 é o melhor conjunto de caracteres, mas estou disposto a tolerar outros conjuntos universais de caracteres, como UTF-16 e UTF-32.
Acredito que todos os conjuntos de caracteres não universais devem ser descontinuados. Existe alguma razão convincente que eles não deveriam?