从dmp文件中发现Oracle字符集信息

如何查看dmp的字符集信息

1、用oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集。如果dmp文件不大,比如只有几M或几十M,可以用UltraEdit打开(16进制方式),看第2第3个字节的内容,如0354

从dmp文件中发现Oracle字符集信息

字节内容与字符集编码对应关系

说明:在使用NLS_LANG显示指定字符集合之后,DMP文件中就按照这个编码方式进行组织文件。

Name            ID

----------------------

US7ASCII  0x0001

WE8DEC          0x0002

WE8ISO8859P1    0x001f

EE8ISO8859P2      0x0020

SE8ISO8859P3      0x0021

NE8ISO8850P4      0x0022

CL8ISO8859P5      0x0023

AR8ISO8859P6      0x0024

EL8ISO8859P7      0x0025

IW8ISO8859P8    0x0026

WE8ISO8859P9    0x0027

WE8ISO8859P15  0x002e

TH8TISASCII    0x0029

US8PC437 0x0004

WE8ROMAN8 0x0005

WE8PC850      0x000a

EE8PC852  0x0096

RU8PC855        0X009B         

TR8PC857        0x009C         

WE8PC858        0x001c

WE8PC860        0x00A0

IS8PC861        0x00A1         

N8PC865        0x00BE         

RU8PC866        0x0098

EE8MSWIN1250    0x00aa

CL8MSWIN1251    0x00ab

WE8MSWIN1252    0x00b2

EL8MSWIN1253    0x00ae

TR8MSWIN1254    0x00b1

IW8MSWIN1255    0x00af         

AR8MSWIN1256    0x0230

BLT8MSWIN1257  0x00b3

ZHT16MSWIN950  0x0363

ZHS16GBK 0x0354

ZHT16HKSCS 0x0364

JA16EUC          0x033e

JA16SJIS    0x0340

ZHT16BIG5      0x0361

AL24UTFFSS      0x0366

UTF8            0x0367

AL32UTF8        0x0369

保证三个字符集一致,导入DMP

PL/SQL导入一个表的时候,

PL/SQL导入一个表的时候,发现导入的时候总是提示未知的字符集,数据库和客户端的字符集不对应。
这个涉及三方面的字符集,
1. oracel server端的字符集;
2. oracle client端的字符集;
3. dmp文件的字符集。

在做数据导入的时候,需要这三个字符集都一致才能正确导入

 

参考https://blog.****.net/cwt19902010/article/details/72605253