Oracle11g 字符集查询与修改
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle11g 字符集查询与修改
环境:服务端:redhat6.3 、oracle11g
客户端:windos XP 、 plsql
1客户端的字符集查询方式
在装有oracle客户端的机器上,打开注册表:regedit
注册表中搜索:NLS_LANG
或者通过路径查找NLS_LANG:HKEY_LOCAL_MACHINE ---》SOFTWARE ---》ORACLE 结果页面如下:
值为:CHINESE_CHINA.ZHS16GBK
影响Oracle数据库字符集最重要的参数是NLS_LANG参数。
它的格式如下:NLS_LANG = language_territory.charset
它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。
其中:
Language:指定服务器消息的语言,影响提示信息是中文还是英文
Territory:指定服务器的日期和数字格式,
Charset:指定字符集。
如:AMERICAN _ AMERICA. ZHS16GBK
从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。
所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文
2服务端的字符集查询方式:
Plsql中运行如下sql:
select userenv('language') from dual;
查询结果如下:
3客户端字符集修改方式
编辑注册表中的NLS_LANG值(要注意必须是ORACLE-HOME目录下的)Regedit.exe ---》HKEY_LOCAL_MACHINE ---》SOFTWARE ---》ORACLE-HOME
或者在Dos窗口下运行:
set nls_lang=AMERICAN_AMERICA.ZHS16GBK