2013-07-11 40 views
1

我遇到了PostgreSQL的字符集和收集問題。當我設置一個新的數據庫時,我可以在C,Greek_Greece.1253和POSIX之間進行選擇以進行校對和字符類型。我選擇UTF8進行編碼,Greek_Greece.1253進行字符集/整理,並使用ADO連接(Devart提供程序)輸入一些希臘字符。希臘字符集在通過PostgreSQL的ADO檢索數據時導致問題

當我使用ADO進行選擇時,我沒有收到我期望找到的數據(希臘文單詞),但是確保我看到一些奇怪的角色(並且我認爲我獲得了超出預期的)。

我正在嘗試將排序規則和字符類型更改爲接近UTF-8的內容,例如Greek_Greece.UTF-8,但它不可用並且由pgAdmin允許。

我的設置在windows.Do you have any idea how to make UTF-8 available for sellecting in charset type or How to retrieve the data in a better way?

回答

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數據會引起很多痛苦...

+0

非常感謝 –