Postgresql:本地化支援

來源:互聯網
上載者:User

本地化:指有關字元、排序、數字格式、貨幣符號等等的文化偏好

postgresql通過兩個途徑提供本地化支援:

  • 1。通過所使用的os擷取本地化偏好
  • initdb.exe 或自動從作業系統的環境中擷取本地化資訊,如果擷取失敗,postgressql使用預設的通用的C設定
  • initdb.exe當然你可以使用--local=loacl_set來指定本地化規則;
  • initdb.exe也允許你指定下面將要提到的具體本地化細節參數進行詳細的細節設定

 

  • 2。提供幾個本地化設定參數定製每個細節方面
  • lc_collate:定序
  • lc_ctype:字元集
  • lc_numeric:數字格式
  • lc_time:日期時間格式
  • lc_monetary:貨幣格式
  • lc_messages:訊息語言

 

本地化設定影響以下方面:

  • 根據文本資料排序 order by
  • like 尋找
  • upper、lower、initcap字元函數
  • to_char系列資料轉換函式
  • 注意:本地化是有代價的。會影響效能,同時減慢字元資料處理,組織like 使用普通索引

 

普通、普遍、痛點、賣點的字元集支援問題

任何一個應用程式想要在全球成功,支援不同的本地化的字元集是不可迴避的問題。postgresql支援大量的字元集(編碼),結構上分為三個層次:server、轉換函式、client。

  • server端的預設字元集編碼是在使用initdb.exe初始化時確定的  --注意euc_cn就是簡體中文字元集。而gb18030 和 gbk=windows936 是僅僅可以用在用戶端的字元集
  • 轉換函式postgresql預製了很多,可以通過create conversion增加自己的轉換函式  --需要注意server 和 client的可用性問題(字元集相容問題)
  • client端的設定
  1. set client_encoding to character_set_name
  2. set names character_set_name
  3. psql.exe使用\encoding character_set_name
  4. 調用libpq的庫的程式:調用用戶端字元集編碼設定函數
  5. 使用設定檔選項:client_encoding
  6. 使用os環境變數指定:PGCLENTENCODING

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.