2007-03-02

PostgreSQL DB伺服器中文編碼字元集使用與注意事項

更新:2007-03-02
對映章節:III,C21

內容:
PostgreSQL 是個很擁有豐富的編碼系統選擇與彈性的DBMS.
隨著時代的演進, PostgreSQL 對中文的系統編碼也跟著改變.

在創建DB的部份
CREATE DATABASE .... ENCODING = '[encoding]'...)
createdb -e [encoding]
已不再支持使用 BIG5, GBK, GB18030 這三個編碼系統均為無效值.

舉例:
=# CREATE DATABASE testg51 ENCODING = 'BIG5';
ERROR: BIG5 is not a valid encoding name

目前均建議採用 UTF-8 或者考慮使用 EUC_TW, EUC_CN,
再次才考慮 MULE_INTERNAL.
(但請注意並非所有程序 API 都支持 PostgreSQL 能建立的伺服器字元編碼。比如, PostgreSQL JDBC 驅動就不支持 MULE_INTERNALLATIN6LATIN8LATIN10。)

SQL_ASCII 設置與其它設置表現得相當不同。
如果伺服器字元集是 SQL_ASCII, 伺服器把字節值 0-127 的數值根據 ASCII 標準解析,而字節值未 128-255 的則當作未解析的字符。 如果設置為 SQL_ASCII,就不會有編碼轉換。因此,這個設置基本不是用來宣告所使用的編碼的, 因為這個宣告會忽略編碼。在大多數情況下,如果你使用了任何非 ASCII 資料,那麼使用 SQL_ASCII 設置都是不明智的,因為 PostgreSQL 會無法幫助你轉換或者校驗非 ASCII 字符。

沒有留言:

網誌存檔

PostgreSQL & Google-Analytics Running...

::Planet PostgreSQL::

PostgreSQL Information Page

PostgreSQL日記(日本 石井達夫先生Blog)

PostgreSQL News

黑喵的家 - 資料庫相關

Google 網上論壇
PostgreSQL 8 DBA 專業指南中文版
書籍內容討論與更多下載區(造訪此群組)
目錄下載: PostgreSQL_8 _DBA_Index_zh_TW.pdf (更新:2007-05-18)

全球訪客分佈圖(Google)

全球訪客分佈圖(Google)