如何根據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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何確定一個dmp檔案是exp匯出的還是expdp匯出的?
- 識別exp匯出檔案所用的字符集
- activiti 根據模型ID匯出、預覽 xml檔案模型XML
- 根據介面返回的二進位制流匯出檔案
- Navicat如何匯入和匯出sql檔案SQL
- oracle資料匯出匯入(exp/imp)Oracle
- 【ASK_ORACLE】一眼判斷出Oracle的dmp檔案是用expdp匯出還是exp匯出Oracle
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- 匯出處理耗時的檔案
- exp和expdp的filesize引數的使用--匯出多個檔案
- 如何使用JavaScript匯入和匯出Excel檔案JavaScriptExcel
- (十一)Electron 匯入匯出檔案
- 38、字符集_2(匯出匯入指定字符集)
- exp匯出遭遇IMP-00020
- EasyExcel完成excel檔案的匯入匯出Excel
- Oracle如何使用spool匯出utf8字符集的文字檔案Oracle
- [Docker核心之容器、資料庫檔案的匯入匯出、容器映象的匯入匯出]Docker資料庫
- java匯出CSV檔案Java
- js 匯出檔案流JS
- java匯出Excel檔案JavaExcel
- 如何把markdown檔案匯出為pdf
- java匯出Excel定義匯出模板JavaExcel
- ServiceNow如何匯出豎線分割的CSV檔案?
- exp匯出報錯EXP-00106問題處理
- exp匯出表中特定條件的表
- 報表如何批次匯出成 excel 檔案Excel
- java模板匯出PDF檔案Java
- PHP 匯出 CSV 格式檔案PHP
- Swagger匯出Api文件檔案SwaggerAPI
- Android studio匯出apk檔案AndroidAPK
- docker啟動的服務有匯出檔案的功能,檔案一直匯出失敗Docker
- NC65如何匯出補丁(jar檔案)JAR
- Mac如何建立並匯出檔案列表清單Mac
- SQLSERVER匯出TXT文字檔案,ORACLE SQL LOADER匯入TXT文字檔案SQLServerOracle
- Laravel-admin 匯出excel檔案LaravelExcel
- SQLite3 匯出 CSV 檔案SQLite
- POI匯出excel檔案加水印Excel
- fastadmin匯出圖片zip檔案AST
- Java整合FreeMarker匯出Pdf檔案Java