如果数据库使用 UTF-8 编码,是否可以正确存储和检索所有人类语言的文本?
在 PostgreSQL 数据库中处理非英语语言时是否有任何“陷阱”?
使用 Ruby on Rails 和 PostgreSQL 9.1。
如果数据库使用 UTF-8 编码,是否可以正确存储和检索所有人类语言的文本?
在 PostgreSQL 数据库中处理非英语语言时是否有任何“陷阱”?
使用 Ruby on Rails 和 PostgreSQL 9.1。
除了 Spidey 和 Kevin 的观点(在客户端和ENCODING 'utf-8'
数据库中使用 utf-8,请注意不同的排序规则),我强烈建议尽可能用它所在的语言标记每个文本字段。
如果您想使用全文搜索或任何类型的语言分析,了解每个字段使用哪种语言真的很有帮助。全文搜索不能进行词根分析等,除非它有字典和后缀列表被索引的文本 - 为此它需要了解语言。
存储ISO 639 语言代码可能是一个合理的选择。
不同的语言倾向于以不同的方式对相同的字符串进行排序,因此COLLATION
在排序时要小心。
http://www.postgresql.org/docs/current/static/collation.html
UTF-8 可以编码所有 Unicode 代码点,所以是的,你根本不会有任何问题。不过,您需要使用 UTF-8 连接,并确保您的应用程序也将输出读取为 UTF-8 编码文本。