在DB2的應用過程中,經常出現由於代碼頁設置引發的中文顯示亂碼的問題,下面就教您一個DB2代碼頁設置亂碼的處理方法,供您參考。
如果是新建數據庫,就可以用以下語句來直接建立中文代碼頁的數據庫:
db2 create db db2name using codeset 1386 territyor 86
在DB2數據庫中,與字符集相關的問題主要有三個層次的字符集的設置,其中系統級別和實例級別的字符集,可以根據需求進行修改,而數據庫級別的數據集則必須在建庫時確定。
(1)操作系統 Locale:系統級別的代碼頁設置,決定應用程序的默認代碼頁;
如果大家希望將 OS Locale 設置為中文,可以考慮下面的方法:
Unix:大家可以通過 export LANG=”zh_CN” 命令修改當前的 Locale 到中文;
Windows:在“開始->設置->控制面板->區域選項”中進行對系統的語言設置進行選擇;
(2)DB2CODEPAGE:DB2 實例級別的代碼頁設置,它會影響DB2相關應用程序對代碼頁轉換時做出代碼頁判定。
大家可以通過 db2set DB2CODEPAEG= 命令將 DB2CODEPAGE 設置為你需要的字符集。
(3)DATABASE CODEPAGE:DB2 數據庫級別的代碼頁設置;必須在建庫時進行設置。
大家在創建數據庫時必須指定需 要的代碼頁:
db2 "CREATE DATABASE dbname USING CODESET UTF-8 TERRITORY CN"
注釋:這條語句可用於創建指定區域為中國(CN)的 Unicode 數據庫。