已经试过很多方法,改系统变量什么都已经试过了。
解决方案 »
- 安装oracle 8出现无法定位。。。。急
- 用exp导数据报错问题
- The Connection descriptor used by the client was:127.0.0.1:1521:ORCL
- 高分请教关于一个软件系统开发的成本计算问题,希望各位有经验的大哥大姐说说你们的看法
- 请教存储过程调用
- ★为什么用户名和口令都对,但就是不能登录到oracle呢?
- 请问,哪里有备份软件。
- 请问大家是如何做二次查询的?
- 请问哪里有Oracle9i中文版下载啊?
- 求救:imp数据文件时,出现以下问题时怎么回事。
- 安装oracle12c,无法登陆,报:ora-12560 tns 协议适配器错误,求。。。
- 触发器报错 Error: PL/SQL: ORA-00942: table or view does not exist
你用的是ORACLE哪个版本?
注册表中的HKEY_LOCAL_MACHINE--->SOFTWARE ---> ORACLE--->KEY_OraDb11g_home1(不同版本的Oracle显示的都不太一样,但都会包含home这个单词),找到“NLS_LANG”,查看数值数据是否为:“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”
喃?
cmd 命令行下进sqlplus 查看表中数据的中文是否乱码,如果不乱码,就是你用的工具本身问题,而不是数据库问题,先把这个分清楚
1.登陆plsql,执行sql语句,输出的中文标题显示成问号????;条件包含中文,则无数据输出
输入sql语句select * from V$NLS_PARAMETERS查看字符集,查看第一行value值是否为简体中文
2.进入注册表,依次单击HKEY_LOCAL_MACHINE --->SOFTWARE ---> ORACLE--->home(小编安装的是Oracle 11g,这里显示成KEY_OraDb11g_home1),找到NLS_LANG,查看数值数据是否为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
3. 如果以上设置都没有问题,那就要查看下环境变量的设置,查看是否有变量NLS_LANG,没有则新建该变量
新建变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK,确定即可
退出plsql,重新登陆plsql。输入sql语句,执行,中文标题终于正常显示,也有数据输出了
在这种情况下,查询的字段里含有中文的,应该也不能正常显示
SELECT VALUE FROM nls_database_parameters WHERE parameter='NLS_CHARACTERSET'
查看数据库的字符集
然后将本地的字符集改成一致的。(通过环境变量nls_lang或在注册表中修改)
在cmd中查看的注释也是乱码
查询的字段可以正常显示,仅仅是注释显示问号。nls_lang中都是SIMPLIFIED CHINESE_CHINA.ZHS16GBK
查询的字段可以正常显示,仅仅是注释显示问号。nls_lang中都是SIMPLIFIED CHINESE_CHINA.ZHS16GBK
注释其实也是从数据字典中查询的
SELECT t.column_name,t.comments
FROM user_col_comments t
WHERE t.table_name='大写表名'
执行试试。如果其他表中的中文正常显示,而只有这里的查询结果中文显示异常。就说明是备注时由于字符集转换而产生乱码,需要重新备注