2012-02-29 52 views
1

我想将unicode字符存储在PostgreSQL8.4数据库基表的列中。我想存储非英语语言数据,如果想存储印度语言文本。通过将文本转换为unicode并使用nvarchar2列数据类型存储在表中,我在Oracle XE中实现了同样的功能。在PostgreSQL 8.4中存储uni代码字符表

与我想要将印度语的unicode字符存储在表格的某一列中的方式(泰米尔语,印地语)一样。如何实现这一点,我应该使用哪种数据类型?

请指导我,在此先感谢

回答

3

只需确保数据库使用编码utf8进行初始化即可。这适用于8.4的整个数据库,更高版本更复杂。您可能也想检查语言环境设置 - 请参阅手册了解详细信息,特别是在与LIKE和文本模式操作相匹配的情况下。

+0

嗨理查德,谢谢,我已经通过存储ans reteriving非英文文本进行检查它工作的很好。因为我创建了带有UTF-8编码的数据库。假设我创建了一个带有其他支持的编码类型的数据库对于Postgres,我可以使用任何专门用于保存非英文文本的列数据类型,就像我们在Oracle nvarchar2中一样,并且如果我们没有类型的数据类型,我可以在稍后的时间点将编码更改为UTF-8,对表中的数据没有任何问题。请提供你的建议 – Murugesh 2012-03-02 05:44:00

+1

你可以在bytea中存储任何你喜欢的东西(参见手册),但它不是文本。要将数据库中的编码更改为utf8,请使用utf8创建一个新的空数据库,然后转储旧数据并进行恢复。如果您使用的是“sql-ascii”编码,则可能需要首先清理数据 - 无效字符可能已经进入。任何iso编码都将被转换。 – 2012-03-02 09:04:36