修改oracle当前会话的语言环境,解决oracle显示中文乱码的问题

对于数据库ORACLE有时操作时,提示的是一串串???,不能起到提示的作用,这是由于语言环境的设置问题,下面是实际操作中要用到的。

查看当前会话的语言环境:
SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

查看语言设置情况:
SQL> SET PAGESIZE 80
SQL> col PARAMETER format a35
SQL> col VALUE format a35
SQL> select * from v$NLS_PARAMETERS;

PARAMETER VALUE
----------------------------------- -----------------------------------
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY RMB
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM
NLS_DUAL_CURRENCY RMB
NLS_NCHAR_CHARACTERSET US7ASCII
NLS_COMP BINARY

已选择17行。

SQL>

修改当前会话的语言环境变量参数:
ALTER SESSION SET =
将语言改为英语:

SQL> ALTER SESSION SET NLS_LANGUAGE=american;
Session altered.

将语言改回中文:
SQL> ALTER SESSION SET NLS_LANGUAGE='SIMPLIFIED CHINESE';
会话已更改。

将地域改为英文:
SQL> ALTER SESSION SET NLS_TERRITORY=america;
会话已更改。

将地域改为中文:
SQL> ALTER SESSION SET NLS_TERRITORY=CHINA;

会话已更改。

你可能感兴趣的:(oracle)