select userenv('language') from dual;
设置oracle数据库编码,注意不要顺便改,除非是空库,修改会清空数据库的表等等
例子,这里是修改编码为UTF8
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 5月 1 10:42:52 2019
Copyright (c) 1982, 2010, Oracle. All rights reserved.
请输入用户名: conn / as sysdba
输入口令:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 1071333376 bytes
Fixed Size 1375792 bytes
Variable Size 671089104 bytes
Database Buffers 394264576 bytes
Redo Buffers 4603904 bytes
数据库装载完毕。
SQL> alter system enable restricted session;
系统已更改。
SQL> alter system set job_queue_processes=0;
系统已更改。
SQL> alter system set aq_tm_processes=0;
系统已更改。
SQL> alter database open;
数据库已更改。
SQL> alter database character set internal_use utf8;
数据库已更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 1071333376 bytes
Fixed Size 1375792 bytes
Variable Size 671089104 bytes
Database Buffers 394264576 bytes
Redo Buffers 4603904 bytes
数据库装载完毕。
数据库已经打开。
SQL>
然后需要修改PLSQL的编码,需要设置一下环境变量
设置为UTF8,需要新增变量NLS_LANG,赋值为:SIMPLIFIED CHINESE_CHINA.AL32UTF8
根据自己需要的编码设置
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK set NLS_LANG=SIMPLIFIED CHINESE_CHINA.UTF8 set NLS_LANG=SIMPLIFIED CHINESE_CHINA.US7ASCII
也可以写个bat脚本,现在plsql安装目录下面新建一个bat文件
@echo off
color 0A
echo.
echo 字符集【ZHS16GBK】请按 1
echo.
echo 字符集【US7ASCII】请按 2
echo.
echo 字符集【AL32UTF8】请按 3
echo.
set /p key=请输入您的选择:
if %key%==1 goto CHINESE_CHINA.ZHS16GBK
if %key%==2 goto CHINESE_CHINA.US7ASCII
if %key%==3 goto CHINESE_CHINA.AL32UTF8
:CHINESE_CHINA.ZHS16GBK
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
goto end
:CHINESE_CHINA.US7ASCII
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.US7ASCII
goto end
:CHINESE_CHINA.AL32UTF8
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8
goto end
:end
start plsqldev.exe