List of databases
Name | Owner | Encoding | Collate | Ctype |
-------------------------+----------+----------+----------------------------+----------------------------|
MyDatabase | postgres | UTF8 | English_United States.1252 | English_United States.1252 |
有人能解释一下 Encoding、Collate 和 Ctype 是如何相互关联的吗?
我知道编码会影响信息的实际存储方式(即“A”是否需要一个字节或多个字节,以及这些字节的值取决于编码)。
我被告知 collate 指定了比较字符的规则。如果您要对一堆字符串进行排序,则整理类型将决定顺序。
我一直在努力寻找 Ctype 是什么;可能与大写和小写等概念有关(假设 'a' 知道 'A' 是大写形式?)。
我不明白(如在我的示例中)我如何拥有一个 UTF8 编码的数据库并使用英语 1252 的校对值。UTF8 有许多 win1252 没有的字符;如果我尝试对它们进行排序或比较会发生什么?我当前的设置是荒谬的......似乎我总是希望 Encoding/Collate/Ctype 同意?