當前位置:首頁 » 數據倉庫 » postgresql查看資料庫編碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

postgresql查看資料庫編碼

發布時間: 2023-05-21 13:46:42

① 如何修改postgresql資料庫字元集

要想打開自動字元集轉換功能,你必須告訴 PostgreSQL 你想在客戶端使用的字元集(編碼)。你可以用好幾種方法實現這個目的。

用 psql 里的 /encoding 命令。 /encoding 允許你動態修改客戶端編碼。 比如,把編碼改變為 SJIS,鍵入:

/encoding SJIS

使用 libpq 函數。 /encoding 在做此用途的時候實際上是調用 PQsetClientEncoding()。

int PQsetClientEncoding(PGconn *conn, const char *encoding);

這里 conn 與後端的聯接,而 encoding 是你想用的編碼。如果編碼設置成功它返回 0,否則返回 -1。本次聯接的當前編碼可以用下面函數顯示:

int PQclientEncoding(const PGconn *conn);

請注意它只返回編碼 ID,而不是象 EUC_JP 這樣的編碼符號字串。 要把編碼 ID 轉換為編碼符號,你可以用:

char *pg_encoding_to_char(int encoding_id);

使用 SET client_encoding TO。 可以用 SQL 命令設置客戶端編碼:

SET CLIENT_ENCODING TO 'value';

你還可以把 SQL 語法里的 SET NAMES用於這個目的:

SET NAMES 'value';

查詢當前客戶端編碼:

SHOW client_encoding;

返回預設編碼:

RESET client_encoding;

使用 PGCLIENTENCODING。 如果在客戶端的環境里定義了 PGCLIENTENCODING 環境變數, 那麼在與伺服器進行聯接時將自動選擇客戶端編碼。 (這個編碼隨後可以用上面談到的任何其它方法覆蓋。)

使用client_encoding配置變數。 如果在 postgresql.conf 里設置了 client_encoding 變數, 那麼在與伺服器建立了聯接之後,這個客戶端編碼將自動選定。(這個設置隨後可以被上面提到 的其他方法覆蓋。)

假如無法進行特定的字元轉換 — 比如, 你選的伺服器編碼是EUC_JP, 客戶端是LATIN1,那麼有些日文字元不能轉換成LATIN1。這時, 不能用LATIN1字元集表示的字母將被轉換成圓括弧包圍的十六進制,像,(826C) 這樣。

如果客戶端字元集定義成了 SQL_ASCII,那麼編碼轉換會被關閉, 不管伺服器的字元集是什麼都一樣。和伺服器一樣,除非你的工作環境全部是 ASCII 數據, 否則使用 SQL_ASCII 是不明智的。

② 怎樣查看修改sqlserver資料庫的編碼格式

SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')

下面是查詢結果:
936 簡體中文GBK
950 繁體中文BIG5
437 美國/加拿大英語
932 日文
949 韓文
866 俄文
65001 unicode UFT-8