成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡述PostgreSQL字符集的幾種形式

數據庫 其他數據庫 PostgreSQL
今天我們要簡述一下PostgreSQL字符集的幾種形式,希望通過本文能讓大家對字符集有一個更深刻的理解。

PostgreSQL數據庫支持多種字符集,在配置字符集時要分清楚服務器與客戶端的字符集,字符集不一致盡管有時能夠發生轉換,但帶來的問題也很頭疼。語言環境的配置也很重要。

服務器字符集<來自文檔>:

  1. Name    Description    Language    Server?    Bytes/Char    Aliases  
  2. BIG5    Big Five    Traditional Chinese    No    1-2    WIN950, Windows950  
  3. EUC_CN    Extended UNIX Code-CN    Simplified Chinese    Yes    1-3       
  4. EUC_JP    Extended UNIX Code-JP    Japanese    Yes    1-3       
  5. EUC_JIS_2004    Extended UNIX Code-JP, JIS X 0213    Japanese    Yes    1-3       
  6. EUC_KR    Extended UNIX Code-KR    Korean    Yes    1-3       
  7. EUC_TW    Extended UNIX Code-TW    Traditional Chinese, Taiwanese    Yes    1-3       
  8. GB18030    National Standard    Chinese    No    1-2       
  9. GBK    Extended National Standard    Simplified Chinese    No    1-2    WIN936, Windows936  
  10. ISO_8859_5    ISO 8859-5, ECMA 113    Latin/Cyrillic    Yes    1      
  11. ISO_8859_6    ISO 8859-6, ECMA 114    Latin/Arabic    Yes    1       
  12. ISO_8859_7    ISO 8859-7, ECMA 118    Latin/Greek    Yes    1       
  13. ISO_8859_8    ISO 8859-8, ECMA 121    Latin/Hebrew    Yes    1       
  14. JOHAB    JOHAB    Korean (Hangul)    No    1-3       
  15. KOI8    KOI8-R(U)    Cyrillic    Yes    1    KOI8R  
  16. LATIN1    ISO 8859-1, ECMA 94    Western European    Yes    1    ISO88591  
  17. LATIN2    ISO 8859-2, ECMA 94    Central European    Yes    1    ISO88592  
  18. LATIN3    ISO 8859-3, ECMA 94    South European    Yes    1    ISO88593  
  19. LATIN4    ISO 8859-4, ECMA 94    North European    Yes    1    ISO88594  
  20. LATIN5    ISO 8859-9, ECMA 128    Turkish    Yes    1    ISO88599  
  21. LATIN6    ISO 8859-10, ECMA 144    Nordic    Yes    1    ISO885910  
  22. LATIN7    ISO 8859-13    Baltic    Yes    1    ISO885913  
  23. LATIN8    ISO 8859-14    Celtic    Yes    1    ISO885914  
  24. LATIN9    ISO 8859-15    LATIN1 with Euro and accents    Yes    1    ISO885915  
  25. LATIN10    ISO 8859-16, ASRO SR 14111    Romanian    Yes    1    ISO885916  
  26. MULE_INTERNAL    Mule internal code    Multilingual Emacs    Yes    1-4       
  27. SJIS    Shift JIS    Japanese    No    1-2    Mskanji, ShiftJIS, WIN932, Windows932  
  28. SHIFT_JIS_2004    Shift JIS, JIS X 0213    Japanese    No    1-2     
  29. SQL_ASCII    unspecified (see text)    any    Yes    1      
  30. UHC    Unified Hangul Code    Korean    No    1-2    
  31. WIN949, Windows949UTF8    Unicode, 8-bit    all    Yes    1-4    Unicode  
  32. WIN866    Windows CP866    Cyrillic    Yes    1    ALTWIN874     
  33. Windows CP874    Thai    Yes    1       
  34. WIN1250    Windows CP1250    Central European    Yes    1       
  35. WIN1251    Windows CP1251    Cyrillic    Yes    1      
  36. WINWIN1252    Windows CP1252    Western European    Yes    1       
  37. WIN1253    Windows CP1253    Greek    Yes    1       
  38. WIN1254    Windows CP1254    Turkish    Yes    1       
  39. WIN1255    Windows CP1255    Hebrew    Yes    1       
  40. WIN1256    Windows CP1256    Arabic    Yes    1       
  41. WIN1257    Windows CP1257    Baltic    Yes    1       
  42. WIN1258    Windows CP1258    Vietnamese    Yes    1    ABC, TCVN, TCVN5712, VSCII 

常用的簡體中文字符集是UTF8和EUC_CN兩種。

可自動轉換字符集<來自文檔>:

  1. Server Character Set Available Client Character Sets  
  2. BIG5 not supported as a server encoding  
  3. EUC_CN EUC_CN, MULE_INTERNAL, UTF8  
  4. EUC_JP EUC_JP, MULE_INTERNAL, SJIS, UTF8  
  5. EUC_KR EUC_KR, MULE_INTERNAL, UTF8  
  6. EUC_TW EUC_TW, BIG5, MULE_INTERNAL, UTF8  
  7. GB18030 not supported as a server encoding  
  8. GBK not supported as a server encoding  
  9. ISO_8859_5 ISO_8859_5, KOI8, MULE_INTERNAL, UTF8, WIN866, WIN1251  
  10. ISO_8859_6 ISO_8859_6, UTF8  
  11. ISO_8859_7 ISO_8859_7, UTF8  
  12. ISO_8859_8 ISO_8859_8, UTF8  
  13. JOHAB JOHAB, UTF8  
  14. KOI8 KOI8, ISO_8859_5, MULE_INTERNAL, UTF8, WIN866, WIN1251  
  15. LATIN1 LATIN1, MULE_INTERNAL, UTF8  
  16. LATIN2 LATIN2, MULE_INTERNAL, UTF8, WIN1250  
  17. LATIN3 LATIN3, MULE_INTERNAL, UTF8  
  18. LATIN4 LATIN4, MULE_INTERNAL, UTF8  
  19. LATIN5 LATIN5, UTF8  
  20. LATIN6 LATIN6, UTF8  
  21. LATIN7 LATIN7, UTF8  
  22. LATIN8 LATIN8, UTF8  
  23. LATIN9 LATIN9, UTF8  
  24. LATIN10 LATIN10, UTF8  
  25. MULE_INTERNAL MULE_INTERNAL, BIG5, EUC_CN, EUC_JP, EUC_KR, EUC_TW, ISO_8859_5, KOI8, LATIN1 to LATIN4, SJIS, WIN866, WIN1250, WIN1251  
  26. SJIS not supported as a server encoding  
  27. SQL_ASCII any (no conversion will be performed)  
  28. UHC not supported as a server encoding  
  29. UTF8 all supported encodings  
  30. WIN866 WIN866, ISO_8859_5, KOI8, MULE_INTERNAL, UTF8, WIN1251  
  31. WIN874 WIN874, UTF8  
  32. WIN1250 WIN1250, LATIN2, MULE_INTERNAL, UTF8  
  33. WIN1251 WIN1251, ISO_8859_5, KOI8, MULE_INTERNAL, UTF8, WIN866  
  34. WIN1252 WIN1252, UTF8  
  35. WIN1253 WIN1253, UTF8  
  36. WIN1254 WIN1254, UTF8  
  37. WIN1255 WIN1255, UTF8  
  38. WIN1256 WIN1256, UTF8  
  39. WIN1257 WIN1257, UTF8  
  40. WIN1258 WIN1258, UTF8 

以下針對客戶端與服務器字符集配置問題作幾個小測試。

測試一:服務器、客戶端、語言環境一致的情況

  1. [postgre@iss3984 ~]$ echo $LANG
  2. en_US.UTF-8
  3. [postgre@iss3984 ~]$ psql daduxiong
  4. Welcome to psql 8.3.11 (server 8.3.10), the PostgreSQL interactive terminal.
  5. Type:    
  6. \copyright for distribution terms        
  7. \h for help with SQL commands         
  8. \? for help with psql commands         
  9. \g or terminate with semicolon to execute query       
  10. \q to quitdaduxiong=# \l         
  11. List of databases    
  12.  Name    |  Owner  | Encoding
  13. -----------+---------+---------- 
  14. daduxiong | postgre | UTF8 
  15. postgres  | postgre | UTF8 
  16. template0 | postgre | UTF8 
  17. template1 | postgre | UTF8(4 rows)
  18. daduxiong=# show client_encoding; 
  19. client_encoding----------------- 
  20. UTF8(1 row)daduxiong=# insert into t1 values (1,'中國');
  21. INSERT 0 1
  22. daduxiong=# select * from t1; id |          
  23. name         
  24. ----+------------------------  
  25. 1 | 中國                 (1 row) 

服務器與客戶端字符集相同,在數據錄入時不發生字符集轉換;因語言環境也相同所以展現不會出現亂碼。

測試二:客戶端與服務器、語言環境不一致的情況

  1. daduxiong=# \encoding   
  2. GBKdaduxiong=# show   
  3. client_encoding;   
  4. client_encoding-----------------   
  5. GBK(1 row)  
  6. daduxiong=# insert into t1 values (2,'日本');  
  7. INSERT 0 1daduxiong=# select * from t1;   
  8. id |          name            
  9. ----+-------------------------    
  10. 1 | �й�                     
  11. 2 | 日本                (2 rows) 

客戶端與服務器的字符集不一致,在數據錄入時將發生字符集轉換;當前展現的第二條記錄非亂碼形式是因為客戶端字符集為GBK,在UTF8下同樣出現亂碼,在使用時需要語言環境進行配置。

測試三:服務器與客戶端、語言環境不一致的情況

  1. daduxiong=# \q  
  2. [postgre@iss3984 ~]$ LANG=GBK export LANG  
  3. [postgre@iss3984 ~]$ echo $LANG  
  4. GBK  
  5. [postgre@iss3984 ~]$ psql daduxiong  
  6. Welcome to psql 8.3.11 (server 8.3.10), the PostgreSQL interactive terminal.  
  7. Type:    
  8. \copyright for distribution terms         
  9. \h for help with SQL commands         
  10. \? for help with psql commands         
  11. \g or terminate with semicolon to execute query         
  12. \q to quitdaduxiong=# show client_encoding;   
  13. client_encoding  
  14. -----------------  
  15.  UTF8  
  16. (1 row)  
  17. daduxiong=# \encoding GBK  
  18. daduxiong=# select * from t1;   
  19. id |          name            
  20. ----+-------------------------    
  21. 1 | �й�                     
  22. 2 | 日本                  
  23. (2 rows)  
  24. daduxiong=# insert into t1 values (3,'美國');  
  25. INSERT 0 1daduxiong=# select * from t1;   
  26. id |          name            
  27. ----+-------------------------    
  28. 1 | �й�                     
  29. 2 | 日本                    
  30. 3 | 美國                  
  31. (3 rows)daduxiong=# \q 

客戶端、語言環境均配置為GBK字符集,在當前環境下展現的為非亂碼形式,數據錄入時將發生字符集轉換。

測試四:服務器與客戶端、語言環境恢復一致的情況

  1. [postgre@iss3984 ~]$ LANG=en_US.UTF8 export LANG  
  2. [postgre@iss3984 ~]$ psql daduxiong  
  3. Welcome to psql 8.3.11 (server 8.3.10), the PostgreSQL interactive terminal.  
  4. Type:  \copyright for distribution terms         
  5. \h for help with SQL commands        
  6. \? for help with psql commands         
  7. \g or terminate with semicolon to execute query        
  8. \q to quitdaduxiong=# show client_encoding; client_encoding
  9. -----------------   
  10. UTF8(1 row)  
  11. daduxiong=# select * from t1;   
  12. id |          name            
  13. ----+-------------------------    
  14. 1 | 中國                     
  15. 2 | 鏃ユ湰                    
  16. 3 | 緹庡浗                 
  17.  (3 rows)daduxiong=#  

通過恢復原始的PostgreSQL字符集狀態,所有環境均為UTF8字符集,此時發現經過字符集轉換后的內容為亂碼。

原文標題:postgresql 字符集

鏈接:http://www.cnblogs.com/daduxiong/archive/2010/10/14/1851552.html

【編輯推薦】

  1. PostgreSQL新版提高Oracle兼容性 欲與甲骨文試比高?
  2. Sun如何處理PostgreSQL和Java DB?
  3. PostgreSQL 8.2簡介 附下載地址
  4. 簡評MySQL和PostgreSQL優劣
  5. 將你的網站從MySQL改為PostgreSQL

 

責任編輯:彭凡 來源: 博客園
相關推薦

2010-04-30 10:16:22

Oracle字符集

2011-04-11 10:59:33

Oracle字符集

2011-04-11 11:05:12

Oracle字符集

2010-06-07 16:09:58

MySQL字符集

2020-12-16 06:34:16

MySQL字符集服務器

2021-03-23 18:21:30

MySQL數據庫字符集

2010-06-02 17:59:19

MySQL字符集

2009-11-20 16:52:35

Oracle字符集

2011-05-20 13:24:39

oracle字符集

2011-05-16 13:15:55

MySQL存儲字符集

2010-06-13 16:17:26

MySQL改變字符集

2009-02-24 10:51:30

2010-04-28 17:29:07

Oracle字符集

2010-11-01 15:44:45

DB2字符集

2010-11-23 17:04:54

MySQL字符集

2010-10-09 10:57:22

MySQL默認字符集

2009-07-29 13:42:04

Oracle中文顯示

2010-05-06 14:40:59

Oracle字符集

2010-10-14 11:52:38

MySQL字符集

2010-04-13 13:11:34

Oracle漢字顯示
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久99精品国产自在现线小黄鸭 | 国产精品国产三级国产aⅴ中文 | 国产一区欧美一区 | jizz视频| 91资源在线 | 黄色亚洲 | 亚洲一av| 亚洲一区综合 | 天天干天天插天天 | 日韩在线视频免费观看 | 亚洲在线日韩 | 亚洲视频免费 | 久久91av| 欧美性一区二区三区 | 国内精品久久久久久影视8 最新黄色在线观看 | 欧美男人天堂 | 无码国模国产在线观看 | 久久999| 欧美精品1区2区 | 日韩一二三区视频 | 天天av网 | 亚洲精品av在线 | 激情亚洲 | 精品国产乱码久久久久久图片 | 亚洲高清在线观看 | 欧美精品一区二区三区在线 | 免费黄视频网站 | 国产精品色| 91精品国产一区 | 国产综合第一页 | 在线午夜 | 无码一区二区三区视频 | 日日射影院 | 蜜桃一区二区三区在线 | 亚洲二区在线 | 色伊人网 | 欧美一级在线 | 欧美 日韩 国产 成人 | 中国xxxx性xxxx产国 | 日本三级电影免费 | 欧美二区三区 |