ORACLE的语言从中文修改为英文

最近学习Oracle, 安装了Oracle 11g R2的中文版,由于使用的PL/SQL Developer使用的是英文版,因此常常会出现乱码问题,后面终于想到了一种解决方法。就是直接改变注册表的里面语言。利用下面的语句查找当前的字符集等信息:

SQL>select * from v$NLS_PARAMETERS;

然后进入注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1里面的NLS_LANG,将其值SIMPLIFIED CHINESE_CHINA.ZHS16GBK修改为
AMERICAN_AMERICA.ZHS16GBK,此时,所有的提示语言将显示为英文。

文章来源:https://www.cnblogs.com/jeancandoit/archive/2013/05/19/3086977.html

====================================================================================================

NLS_LANG是一个环境变量,用于定义语言,地域以及字符集属性。对于非英语的字符集,NLS_LANG的设置就非常重要。
NLS:‘National Language Support (NLS)’ 当我们设定一种nls的时候实际上我们是为oracle在存放数据时指定了他的语种所特有的一些表达形式,比如我们选择chinese,那么它的中文字符如何存放,按什么规则排序,货币如何表示,日期格式也就被设定了。

 

NLS_LANG参数由以下部分组成:NLS_LANG=<Language>_<Territory>.<Clients Characterset> NLS_Language 指定: - Oracle(错误)信息的语言 - 日和月份的名称 注意:NLS_LANGUAGE与插入和查询的*数据*的语言无关。
NLS_Territory 指定: - 货币和数字格式 - 计算星期和天数的范围和惯例
客户端字符集(CLIENTS CHARACTERSET): - 定义Oracle客户端,客户应用使用的编码 * 或者它要符合您Microsoft Windows代码页 (GUI工具的ACP, 命令提示符的CHCP 值) * 或者为Unicode WIN32应用设置为UTF8/AL32UTF8。

 

常见的值可以参见Oracle Database Client Globalization Support

 

Windows中设置NLS_LANG

1.命令提示符中设置为环境变量

如果您在命令行中设置NLS_LANG为环境变量,它将覆盖注册表和系统属性中的NLS_LANG的定义。在命令提示符中,使用“set”命令,例如:

 

LANGUAGE设置为中文时,提示如下:

C:\Users\TianPan>set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 

C:\Users\TianPan>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 11月 28 10:07:21 2014
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
SQL> conn scott/tiger 已连接。

SQL> select sysdate from dual;
SYSDATE -------------- 28-11月-14

 

当Language设置为American时,提示信息则变为英文:

C:\Users\TianPan>set nls_lang=AMERICAN_AMERICA.ZHS16GBK

 

C:\Users\TianPan>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Fri Nov 28 10:07:51 2014
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
SQL> conn scott/tiger Connected. SQL> select sysdate from dual;
SYSDATE ------------ 28-NOV-14

在Windows下通过set nls_lang来设置,只是Session级别的,关闭cmd窗口后再打开,就又变为原来的设置了。如需永久生效,可以修改注册表的参数。

 

2.注册表设置(永久生效)

默认情况下,windows上的Oracle安装使用注册表来定义这个设置。 版本 10g 及以上: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_<oracle_home_name> 这里您会看到一个条目名为NLS_LANG

在64位windows平台上安装32位软件,会使用32位兼容性路径 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_<oracle_home_name>

 

3.操作系统环境变量

尽管注册表是Microsoft Windows设置的主要存储位置,它不是唯一可以设置参数的地方。

虽然不推荐,但您可以设置NLS_LANG为系统属性中的系统或者用户变量。这个设置会被所有Oracle home使用。

设置位置: '我的电脑' -> '属性' > '高级'  -> '环境变量'

 

因为这些环境变量比注册表中已经设置的参数级别高,所以除非您有非常好的理由否则不要在这个位置设置Oracle参数。

文章来源:https://www.cnblogs.com/justuntil/p/5636574.html

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值