db2 codepage


首先分兩個層面,DB2 CODEPAGE和OS CODEPAGE(DB2SET DB2CODEPAGE相當於設定了當前實例的OS的CODEPAGE)

Linux系統查看CODEPAGE的方法:在終端輸入locale
windows查看CODEPAGE方法:在cmd.exe輸入chcp,或者右鍵cmd.exe屬性查看。
如果DB2SET DB2CODEPAGE了,這個值的優先級比OS的CODEPAGE高,下面講的OS CODEPAGE是指沒有設置DB2SET DB2CODEPAGE,如果設置了這個實例變量,那么下面講到的OS CODEPAGE都以實例變量為准

如果是SELECT,顯示到屏幕的CODEPAGE會經過這樣的轉換,DB2 CODEPAGE→OS CODEPAGE→你使用的客戶端的CODEPAGE(如果客戶端和OS CODEPAGE不一致,會出現亂碼,但這只是顯示上的亂碼,真正的數據沒有被破壞),這些轉換的基礎是字符集之間可以轉換,有些字符集之間不能轉換,可以查看http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.nls.doc/doc/r0004565.html

EXPORT導出的數據默認使用OS CODEPAGE進行存儲(你可以通過改變客戶端的CODEPAGE來查看這些文件,如果客戶端的CODEPAGE和文件存儲的CODEPAGE不符,會出現亂碼)
IMPORT默認認為導入文件是以OS CODEPAGE存儲的(如果文件存儲使用的CODEPAGE和OS CODEPAGE不一致,入庫后的數據會被破壞,出現亂碼,只能重新導入)
LOAD默認認為導入文件時以DB2 CODEPAGE存儲的(如果文件存儲使用的CODEPAGE和DB2 CODEPAGE不一致,入庫后的數據會被破壞,出現亂碼,只能重新導入)


所以最保險的就是在導出和導入時都顯示指定CODEPAGE(除非數據庫的CODEPAGE和指定的CODEPAGE不能轉換)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM