在postgreSQL中为utf-8的LC_COLLATE和LC_CTYPE支持

前端之家收集整理的这篇文章主要介绍了在postgreSQL中为utf-8的LC_COLLATE和LC_CTYPE支持前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
从这个链接 http://wiki.postgresql.org/wiki/Todo:Collatehttp://www.postgresql.org/docs/9.1/static/collation.html.这让我很困惑。

他们表示,utf-8支持取决于操作系统的能力,以及它在每个LC_COLLATE和LC_CTYPE选项之间的差异。@H_301_2@

当我使用pdAdmin III创建数据库时,有3个选项C,Posix和English_United States.1252。 C,Posix和English_United States之间的区别是什么?@H_301_2@

我想要支持所有语言的工作,那就是unicode utf-8,这似乎不是一个选择。@H_301_2@

为了在Postgresql 9中创建支持utf-8的数据库,我必须选择LC_COLLATE和LC_CTYPE的值?@H_301_2@

作为文档, 22.2. Character Set Support说:

An important restriction,however,is
that each database’s character set
must be compatible with the database’s
LC_CTYPE (character classification)
and LC_COLLATE (string sort order)
locale settings. For C or POSIX
locale,any character set is allowed,
but for other locales there is only
one character set that will work
correctly. (On Windows,UTF-8
encoding can be used with any locale.)@H_301_2@

我看到可能你在Windows主机(英语_United States.1252语言环境)下有Postgresql,所以你可以使用任何这些(Posix与C相同,意思是“no locale”),读取22.1. Locale Support:@H_301_2@

Locale support refers to an
application respecting cultural
preferences regarding alphabets,
sorting,number formatting,etc.@H_301_2@

If you want the system to behave as if
it had no locale support,use the
special locale C or POSIX.@H_301_2@

编辑:@H_301_2@

Windows平台不符合POSIX标准,因此您应该为该平台使用C语言环境。我不知道为什么安装程序有POSIX选项(我猜这是一个bug):@H_301_2@

要创建没有区域设置的新集群,您可以简单地使用–no-locale开关,例如:@H_301_2@

initdb --no-locale -E UTF-8 C:\pgdata

猜你在找的Postgre SQL相关文章