Oracle11g 字符集查询与修改
来源:互联网 发布:苹果ipowerl软件 编辑:程序博客网 时间:2024/05/29 07:33
环境:服务端: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:
selectuserenv('language')from dual;
查询结果如下:
3 客户端字符集修改方式
编辑注册表中的NLS_LANG值(要注意必须是ORACLE-HOME目录下的)
Regedit.exe ---》 HKEY_LOCAL_MACHINE ---》SOFTWARE ---》 ORACLE-HOME
或者在Dos窗口下运行:
set nls_lang=AMERICAN_AMERICA.ZHS16GBK
有时是oracle免安装客户端,没有oracle-home、注册表中也查询不到nls_lang,可以用如下方法:
可以新增环境变量:
变量名:NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.AL32UTF8
值为想要变成的字符集。
4 服务端字符集的修改
修改时,修改后的字符集须是修改前的超集,如AL32UTF8是ZHS16GBK的超集,则可以修改。
要用oracle自带的plsql去执行命令,用户为sys,执行如下命令:
SQL> ALTER DATABASE character set INTERNAL_USE AL32UTF8;
- Oracle11g 字符集查询与修改
- 查询与修改Oracle字符集
- oracle11g 修改字符集 修改为ZHS16GBK
- oracle11g 修改字符集 修改为ZHS16GBK
- oracle11g 修改字符集 修改为ZHS16GBK
- Oracle11g 字符集 AL32UTF8 修改为ZHS16GBK详解
- Oracle11g字符集AL32UTF8与ZHS16GBK相互转换
- Oracle查询server字符集+修改字符集
- mysql查询及修改字符集
- oracle 查看字符集与修改字符集
- oracle 字符集查看与修改
- oracle 字符集查看与修改
- oracle 字符集查看与修改
- oracle 字符集查看与修改
- oracle 字符集查看与修改
- oracle 字符集查看与修改
- oracle 字符集查看与修改
- TimesTen与Oracle字符集查询
- 观察者模式
- 也许,无声也是一种表达
- cocos2dx 2.x 动态纹理创建CCRenderTexture
- 转载:extern "C"的用法解析
- >/dev/null 2>&1 的作用
- Oracle11g 字符集查询与修改
- html特殊字符
- 【Bug笔记】Unable to load configuration. - Class: java.net.AbstractPlainSocketImpl
- LeetCode Subsets
- error C2556: 'void __thiscall......overloaded function differs only by return type from 'int __thisc
- 解决ADB连不上设备的问题
- x&(x-1)的巧用:用于判断x是否为2的n次幂,计算二进制1的个数
- android客户端与c#服务器端的通信
- C# Winform中窗体的美化