2

我对 PostgreSQL 的字符集和整理有疑问。当我设置一个新数据库时,我可以在 C、Greek_Greece.1253 和 POSIX 之间选择排序规则和字符类型。我选择 UTF8 进行编码,Greek_Greece.1253 用于字符集/整理,并使用 ADO 连接(Devart 提供程序)输入了一些希腊字符。

当我使用 ADO 进行选择时,我没有得到我期望找到的数据(希腊语单词),但实际上我得到了一些看起来很奇怪的字符(而且我认为我得到的比预期的要多)。

我试图将排序规则和字符类型更改为接近 UTF-8 的内容,例如 Greek_Greece.UTF-8,但它不可用并且 pgAdmin 允许。

我的设置是在 windows 中。您知道如何使 UTF-8 可用于字符集类型的销售或如何以更好的方式检索数据吗?

4

2 回答 2

2

看起来您的操作系统不支持 UTF-8 中的希腊排序规则。

您可以使用以下查询查看 PostgreSQL 可用的所有排序规则:

select * from pg_collation;

希腊语是el_GR.utf8。如果列出,您将使用以下查询创建数据库:

CREATE DATABASE greek WITH ENCODING 'UTF-8' LC_COLLATE='el_GR.utf8' LC_CTYPE='el_GR.utf8' TEMPLATE=template0;

如果未列出,则您需要在操作系统级别添加语言支持。

我对 Windows 不是很熟悉,但是根据记忆,有一种方法可以在控制面板中添加语言(虽然不确定这是否增加了 UTF-8 支持)。

使用 Debian Linux 很容易:

$ dpkg-reconfigure locales

无论如何,我强烈建议您不要对数据库中的任何内容使用 windows-1253 编码。根据经验,非 utf8 数据会在未来造成很大的痛苦......

于 2013-07-11T15:00:31.323 回答
0

dotConnect for PostgreSQL 连接字符串包括 Unicode 参数。尝试将其设置为 True。

于 2013-07-12T09:13:19.987 回答