巧妙转换ORACLE数据库字符集

转载 2006年06月10日 22:06:00

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

在大型数据库管理系统中,ORACLE数据库不论在数据库管理能力还是在安全性方面都是无可非议的。国内企业使用ORACLE数据库的也较多,但是由于ORACLE不同版本的字符集,给数据显示、数据备份、数据转换等实际工作带来了不少麻烦。
一、字符集参数
一旦数据库创建后,数据库的字符集是不能改变的。因此,考虑使用哪一种字符集是十分重要的。数据库字符集应该是操作系统本地字符集的一个超集。存取数据库的客户使用的字符集将决定选择哪一个超集,即数据库字符集应该是所有客户字符集的超集。
下面介绍一些与字符集有关的NLS_LANG参数:
NLS_LANG格式:NLS_LANG=language_territory.charset
有三个组成部分(语言、地域和字符集),每个组成成分控制了NLS子集的特性。三个成分可以任意组合,例如:
AMERICAN_AMERICA.US7SCII 
JPANESE_JAPAN.JA16EUC
其中:language 指定服务器消息的语言。
territory 指定服务器的日期和数字格式。
Charset 指定字符集
还有一些子集可以更明确定义NLS_LANG参数:
NLS_DATE_FORMAT 缺省的日期格式
NLS_DATE_LANGUAGE 缺省的日期语言
NLS_NUMBERIC_CHARACTERS 小数字符和组分隔开
NLS_CURRENCY 本地货币字符
NLS_ISO_CURRENCY ISO货币字符
NLS_SORT 字符排序序列 
二、字符集转换
1、NLS_LANG参数的修改方法:
1)用SYS用户名登陆ORACLE。
2)查看字符集内容 
SQL>SELECT * FROM PROPS$;
3)修改相应的字符子集 
SQL>UPDATE PROPS$ SET VALUE$=’SIMPLIFIED CHINESE ‘ 
WHERE NAME=’NLS_LANGUAGE’;
4) 递交COMMIT;
2、NLS_LANG参数的具体应用:
1)采用服务器端/客户端方式,两端字符集不同
修改客户端字符集:
WIN95/WIN98:修改注册表 
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/NLS_LANG
UNIX:按照1方法,直接进入ORACLE 修改。
2)不同字符集使用EXP/IMP命令
按照1方法,修改IMP端的字符集设置,如果是WIN98/WIN95系统,还必须修改注册表。注意:NLS_LANG三个子集的参数必须一致。另外,如果字符集单双字节设置不同,则不能通过修改字符集进行转换。可以使用其他方式,不修改字符集,进行ORACLE数据库搬移,如数据量比较小,可以使用SQLLOAD命令,通过文本文件转换;使用其他数据库软件(ACCESS,FOXPRO等)转换。

 

ORACLE数据库字符集设置

  • 2016年01月18日 22:47
  • 3KB
  • 下载

oracle数据库字符集AL32UTF8修改为ZHS16GBK即从超集到子集

问题: 一个汉字用GBK存放是2个字符,用AL32UTF8占用3个字符,问题来了: 一个字段A varchar2(10)存放了5个汉字,但是存放AL32UTF8的只能存放3个, 所以在由ZHS16GB...

理解ORACLE数据库字符集

  • 2009年01月04日 15:42
  • 39KB
  • 下载

Oracle数据库字符集问题解析(1)

  • 2012年07月07日 12:33
  • 83KB
  • 下载

Oracle数据库的连接配置和字符集配置

解决方案: 1.安装后oracle后,首先要修改字符集。 想要修改字符集,就要使用命令行行登录oracle,以及其后使用sqlplus连接oracle,此时配置oracle的配置文件是第一步,本人正确...

oracle数据库的字符集

  • 2011年12月14日 13:36
  • 1.23MB
  • 下载

选择ORACLE数据库字符集

如何选择数据库的字符集是一个有争议的话题,字符集本身涉及的范围很广,它与应用程序、客户的本地环境、操作系统、服务器等关系很密切,因此要做出合适的 选择,需要明白这些因素之间的关系。另外对字符集的基本概...

修改oracle数据库字符集的方法

SQL> select name,value$ from props$ where name like '%NLS%'; NAME ------------------------------ ...

选择ORACLE数据库字符集

引用: http://blog.csdn.net/senaku/article/details/1920090 如何选择数据库的字符集是一个有争议的话题,字符集本身涉及的范围很广,它与应用程...
  • lmy4710
  • lmy4710
  • 2013年08月13日 11:53
  • 637
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: 巧妙转换ORACLE数据库字符集
举报原因:
原因补充:

(最多只允许输入30个字)