如何根據exp匯出檔案確定client端匯出時的字符集
client exp匯出時的nls_lang值如下:
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
--====================================
C:>exp test/test file=c:tempa.dmp tables=t
Export: Release 10.2.0.1.0 - Production on 星期四 3月 10 09:46:20 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
已匯出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即將匯出指定的表透過常規路徑...
. . 正在匯出表 T匯出了 0 行
成功終止匯出, 沒有出現警告。
C:>exp test/test file=c:tempa.dmp tables=t
Export: Release 10.2.0.1.0 - Production on 星期四 3月 10 09:47:06 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
已匯出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即將匯出指定的表透過常規路徑...
. . 正在匯出表 T匯出了 2 行
成功終止匯出, 沒有出現警告。
C:>
--======================================
--透過ultraedit開啟a.dmp檔案:
發現第2個和第3個位元組是:03 54
按照網上流傳的一個說法(之所以這麼說,因為自己麼有在doc中看到過,汗)這2個位元組代表就是exp時client端nls_lang中的client字符集
--==========================
SQL> select to_number('0354','xxxx') from dual;
TO_NUMBER('0354','XXXX')
------------------------
852
SQL> select nls_charset_name(852) from dual;
NLS_CHAR
--------
ZHS16GBK
SQL> select nls_charset_id('ZHS16GBK') from dual;
NLS_CHARSET_ID('ZHS16GBK')
--------------------------
852
SQL>
SQL> select nls_charset_name(936) from dual;
N
-
SQL>
--這裡有個小小的疑問,windows下我們看到的程式碼936對應的是簡體中文 GBK,貌似和
oracle中的852不一致,肯定指的都是簡體中文,莫非2個地方的id不同?另外貌似沒有oracle檢視記錄charset name和id的對應關係...?
--=======================
知道了exp匯出時client端的字符集,那麼我們在匯入時也設定成這樣的字符集(當然最終
都得和db server的字符集保持一致),匯入之後才有可能不至於產生亂碼。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1047080/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- exp匯出檔案時 字符集設定問題
- 如何確定一個dmp檔案是exp匯出的還是expdp匯出的?
- 修改exp 的 匯出dmp檔案的字符集
- exp 匯出時帶時間格式的檔案設定
- 識別exp匯出檔案所用的字符集
- 查詢dmp檔案(exp方式匯出) 字符集
- exp 分檔案大小匯出
- activiti 根據模型ID匯出、預覽 xml檔案模型XML
- Oracle 遠端匯出匯入 imp/expOracle
- jxls根據模板匯出excelExcel
- apose 根據excel 匯出模版Excel
- 根據介面返回的二進位制流匯出檔案
- 抽取exp/expdp匯出檔案頭的資訊
- 檢視較小dmp檔案,匯出時客戶端的字符集客戶端
- MysqlDump根據萬用字元批量匯出MySql字元
- MySQL匯入匯出檔案檔案MySql
- Navicat如何匯入和匯出sql檔案SQL
- exp/imp匯出匯入工具的使用
- dos下的exp匯出日期檔名樣式的檔案
- Export/Import匯入匯出時的字符集問題ExportImport
- 資料匯入匯出EXP/IMP
- exp/imp匯出匯入資料
- Oracle匯入(imp )與匯出(exp )Oracle
- 【ORACLE 匯入匯出】exp 錯誤Oracle
- ORACLE匯入匯出命令exp/impOracle
- 匯出處理耗時的檔案
- 如何使用JavaScript匯入和匯出Excel檔案JavaScriptExcel
- 如何為Oracle匯出檔案加上時間戳Oracle時間戳
- Oracle exp/imp匯出匯入工具的使用Oracle
- oracle資料的匯入匯出imp/expOracle
- sqoop定時增量匯入匯出OOP
- (十一)Electron 匯入匯出檔案
- mysql 匯入匯出 sql檔案MySql
- MySQL匯入匯出平面檔案MySql
- 【ASK_ORACLE】一眼判斷出Oracle的dmp檔案是用expdp匯出還是exp匯出Oracle
- EXP直接匯出壓縮問津,IMP直接匯入壓縮檔案的方法
- 【EXP/IMP】使用EXP /IMP工具“模糊”匯出和匯入
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫