开发者博客:www.developsearch.comsql
建立数据库的时候直接选择正确的字符集(显示汉字的字符集主要有ZHS16CGB231280,US7ASCII,WE8ISO8859P1,ZHS16GBK等)数据库
一、查看数据库的字符集oracle
SQL > select * from V$NLS_PARAMETERS工具
parameter valueui
NLS_LANGUAGE AMERICANspa
NLS_TERRITORY AMERICAblog
…. ….ip
NLS_CHARACTERSET WE8ISO8859P1ci
NLS_SORT BINARY开发
NLS_NCHAR_CHARACTERSET WE8ISO8859P1
---- 从上述信息看出ORACLE 数据库的字符集为' WE8ISO8859P1'。
二、能够用update 命令修改数据库的字符集,可是
注意:修改字符集可能会对原有数据形成破坏,修改以前必定要先备份数据库.命令以下:
用户sys 以sysdba的身份登陆oracle. 字串9
SQL > update props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET'
不一样字符集数据库之间的数据导入
a)从新安装数据库或者是用update命令修改字符集。
b)强行修改oracle数据库当前字符集。以sysdba的身份登陆oracle
SQL > create database character set ZHS16GBK (注:这里的字符集为导出数据的字符集)
* create database character set ZHS16GBK
ERROR at line 1:
ORA-01031: insufficient privileges
不用理会这个错误,用imp 装入数据。数据装完后,重启动oracle 数据,select * from V$NLS_PARAMETERS 此时,你会发现,数据库字符集又回到原来的字符集。
c)用第三方工具绕开字符集。如powerbuild的pipeline,delphi的datadump,MS access的数据导入导出工具。
2.客户端修改字符集。
2.1 sql*net2.0如下版本编辑oracle.ini 文件。
2.2 sql*net2.0以上版本。在注册表中查找NLS_LANG,修改该字符串的值就能够。
开发者博客:www.developsearch.com