ORACLE修改数据库的编码

前端之家收集整理的这篇文章主要介绍了ORACLE修改数据库的编码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

ORACLE数据库默认编码GBK 改为UTF-8

1、改客户端字符集:通过WINDOWS的运行菜单运行Regedit,修改注册
Start -> Run -> Rededit <-|
Under registry Editor - > HKEY_LOCAL_MACHINE -> SOFTWARE ->ORACLE->KEY_XE->RIGHT WINDOW DOUBLE CLICK NLS_LANG -> CHANGE VALUE TO "AMERICAN_AMERICA.UTF8" ->OK ->CLOSE REGISTRY

2.设置环境变量
计算机->属性->高级系统设置->环境变量->新建
设置变量名:NLS_LANG,变量值:第1步查到的值, 我的是 AMERICAN_AMERICA.UTF8

正确设置ORACLE客户端字符集的方法
oracle客户端字符集设置需要和服务器端一致,否则会出现乱码问题。

连接oracle服务器(可以使用plsql可视化工具)
查看服务器端编码: select userenv('language') from dual;
查询服务器端设置: select * from v$nls_parameters;

找到:
NLS_LANGUAGE
NLS_TERRITORY
NLS_CHARACTERSET
环境变量nls_lang便是由这三部分组成
NLS_LANG = language_territory.charset
比如:
NLS_LANG = American_Japan.JA16SJIS

3、改服务器端字符集,通过ORACLE的sql PLUS命令窗口改
sql*PLUS 中,
cmd打开窗口
切换到客户端窗口: D:\>cd develop\app\Administrator\product\instantclient_11_2
以DBA登录conn 用户名 as >sqlplus sys/laowei as sysdba@127.0.0.1:1521/orcl

后执行以下命令 >shutdown immediate; (把database停了) >startup mount; (把database重开去可更改情況) >alter system enable restricted session; >alter system set job_queue_processes=0; >alter system set aq_tm_processes=0; >alter database open; >alter database character set utf8; OR >alter database character set internal_use utf8; >shutdown immediate; >startup; (重开正常oracle)

猜你在找的Oracle相关文章