描述:我的developer是英文版的(菜单都是英文的:))
一
1、select userenv('language') from dual;的结果为:SIMPLIFIED CHINESE_CHINA.UTF8
2、注册表的NLS_LANG的值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK在上述配置的情况下,我的查询结果,中文正常显示。
但是,我把注册表改为SIMPLIFIED CHINESE_CHINA.UTF8,查询结果乱码。二、
1、select userenv('language') from dual;的结果为:SIMPLIFIED CHINESE_CHINA.UTF8
2、注册表的NLS_LANG的值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
在上述配置的情况下,通过developer的菜单:file-->open-->sql script打开一个a.sql文件,该文件内容如下:comment on column FIN_ACCOUNTS_RECEIVABLE_MANAGE.PAYMENT_GATEWAY_ID
is '支付网关ID';中文显示乱码。用editplus3打开该文件,可以看到它的编码为utf8。把editplus3中的文本拷贝到developer中,可以正常显示。
一
1、select userenv('language') from dual;的结果为:SIMPLIFIED CHINESE_CHINA.UTF8
2、注册表的NLS_LANG的值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK在上述配置的情况下,我的查询结果,中文正常显示。
但是,我把注册表改为SIMPLIFIED CHINESE_CHINA.UTF8,查询结果乱码。二、
1、select userenv('language') from dual;的结果为:SIMPLIFIED CHINESE_CHINA.UTF8
2、注册表的NLS_LANG的值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
在上述配置的情况下,通过developer的菜单:file-->open-->sql script打开一个a.sql文件,该文件内容如下:comment on column FIN_ACCOUNTS_RECEIVABLE_MANAGE.PAYMENT_GATEWAY_ID
is '支付网关ID';中文显示乱码。用editplus3打开该文件,可以看到它的编码为utf8。把editplus3中的文本拷贝到developer中,可以正常显示。
它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。
其中:
Language: 指定服务器消息的语言, 影响提示信息是中文还是英文
Territory: 指定服务器的日期和数字格式,
Charset: 指定字符集。
如:AMERICAN _ AMERICA. ZHS16GBK
从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。1、select userenv('language') from dual;的结果为:SIMPLIFIED CHINESE_CHINA.UTF8
-- 这个查询的是数据库的字符集2、注册表的NLS_LANG的值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
--NLS_LANG 是操作系统的环境变量, 如果说数据库是中文的,但是环境变量不是,那么查询出来也是乱码的。 UTF8 是支持的中文的, 至于楼主的为什么是乱码,可能是环境变量没有生效....Oracle 字符集的查看和修改
http://blog.csdn.net/tianlesoftware/archive/2009/12/02/4915223.aspx
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716