我的烦恼正在研究如此众多的软件项目,这些项目具有大量的字符集支持代码。不要误会我的意思,我全都出于兼容性的考虑,并且我很高兴文本编辑器允许您打开并保存多个字符集的文件。令我烦恼的是,如何将非通用字符编码的泛滥称为“适当的Unicode支持”而不是“问题”。
例如,让我选择PostgreSQL及其字符集支持。PostgreSQL处理两种类型的编码:
- 客户端编码:用于客户端和服务器之间的通信。
- 服务器编码:用于将文本内部存储在数据库中。
我可以理解为什么支持很多客户端编码是一件好事。它使不在UTF-8中运行的客户端无需进行转换即可与PostgreSQL通信。我不明白的是:为什么PostgreSQL支持多种服务器编码?数据库文件(几乎总是)从一个PostgreSQL版本到另一个版本不兼容,因此,跨版本兼容性不是这里的问题。
UTF-8是唯一可以对所有Unicode代码点进行编码的标准,兼容ASCII的字符集(如果我记错了,请告诉我)。我在阵营中认为UTF-8是最好的字符集,但我愿意忍受其他通用字符集,例如UTF-16和UTF-32。
我认为所有不通用的字符集都应弃用。他们不应该有任何令人信服的理由吗?