ITPub博客

首页 > 数据库 > Oracle > AL32UTF8与ZHS16GBK转换

AL32UTF8与ZHS16GBK转换

原创 Oracle 作者:a635186971 时间:2017-09-18 09:44:53 0 删除 编辑
##########################################################AL32UTF8
create user zfj identified by zfj;
grant resource,connect to zfj;
SYS DATA_PUMP_DIR         /opt/app/oracle/admin/oratest/dpdump/
grant read,write on directory DATA_PUMP_DIR to zfj;

conn zfj/zfj
create table zfj(yw varchar(10),zw char(10));
insert into zfj values('aaaaaaaaaa','aaaaaaaaaa');
insert into zfj values('b','b');
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
sqlplus zfj/zfj
insert into zfj values ('江苏','江苏');
insert into zfj values ('江苏库','江苏库');
commit;

idle> select * from zfj;


YW   ZW
---------- ----------
aaaaaaaaaa aaaaaaaaaa
b   b
江苏       江苏
江苏库     江苏库


expdp zfj/zfj directory=DATA_PUMP_DIR file=zfj.dmp logfile=zfj.log


###########################################################ZHS16GBK
create user zfj identified by zfj;
grant resource,connect to zfj;
SYS DATA_PUMP_DIR       /opt/app/oracle/admin/oratest1/dpdump/
grant write,read on directory DATA_PUMP_DIR to zfj;

cd /opt/app/oracle/admin/oratest/dpdump
cp zfj.dmp ../../oratest1/dpdump/
impdp zfj/zfj directory=DATA_PUMP_DIR file=zfj.dmp logfile=zfj.log

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
sqlplus zfj/zfj
select * from zfj;


结论:
1.不管是从AL32UTF8 到ZHS16GBK 还是从ZHS16GBK 到AL32UTF8 ,中文都不会乱码,会自动转换(导出导入过程中无报错),但是对于其他国家语言会有问题(比如印度,日本等文字)。
2.通过数据泵导出或导入的数据,与oracle用户操作系统参数NLS_LANG无关,编码自动与数据库参数NLS_CHARACTERSET相同。
3.AL32UTF8 字符集一个中文占用3个字节,ZHS16GBK 字符集一个中文占用2个字节。如果确认应用程序只用到英文和中文,ZHS16GBK会更加节省存储。如果不确定,建议使用AL32UTF8.
4.建表时指定列属性varchar(10),其中的10指的是字节,若是AL32UTF8 字符集,则只能存3个中文,若是ZHS16GBK字符集,则可以存5个中文。这会导致从ZHS16GBK字符集数据库通过数据泵导入到AL32UTF8字符集数据库过程中,有些列需要扩容。如果需要按字符指定列属性,应该为varchar2(10 char)。
5.AL32UTF8是ZHS16GBK的超集,因为AL32UTF8包含了更多国家的文字。
6.通过SecureCRT或xshell查看到中文乱码时,只需要查看数据库NLS_DATABSE_PARAMETERS中NLS_CHARACTERSET的字符集是什么,然后保持操作系统用户NLS_LANG的设置和SecureCRT或xshell软件的编码设置与之一致即可。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31441616/viewspace-2145085/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 各种按钮
请登录后发表评论 登录
全部评论

注册时间:2017-03-07

  • 博文量
    41
  • 访问量
    57845