oracle 显示正常输出到界面为问号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 显示正常输出到界面为问号相关的知识,希望对你有一定的参考价值。
语句select userenv('language') from dual;查询出来结果是SIMPLIFIED CHINESE_CHINA.AL32UTF8
在数据库调试输出也是中文,但是到界面输出就全是问号
1、数据库里存放的是韩文之类的非简体中文,而客户端未安装对应的语音包,那么显示有可能就都为“?”或“口”;
2、服务器或客户端无法识别此类编码,请先查看服务器是否可以识别,如果可以在查客户端是否识别服务器传输的编码 参考技术A dual要大写
Oracle使用——PLSQL的中文乱码显示全是问号
问题
这两天刚将PLSQL与Oracle配置好,但是在PLSQL中插入数据时。出现一个问题,PLSQL中的表里无法显示中文,中文无法保存、无法输出。中文在表中显示问号。如图:
原因
经过一番查证,发现问题的源头不是出如今PLSQL上,而是出如今我们的Oracle上,因为我们的Oracle数据库里的字符集不支持中文导致的。既然知道了原因。就好办了。我们就配置我们的Oracle字符集,让他支持中文。
解决的方法
我的Oracle是11g版本号的,以下以我的为例,为大家解说下设置的过程。
步骤一
開始-执行-输入regedit-回车进入注冊表。依次单击HKEY_LOCAL_MACHINE--->SOFTWARE ---> ORACLE--->KEY_OraDb11g_home1(不同版本号的Oracle显示的都不太一样,但都会包括home这个单词),找到“NLS_LANG”,查看数值数据是否为:“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”。假设不是就将它设置为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
”
如图
步骤二
设置完注冊表后,接下来设置我们的环境变量,计算机(右键) --->属性--->高级系统设置--->高级--->环境变量--->新建。个人建议新建用户变量。变量名输入:“NLS_LANG”。变量值输入:“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”。点击确定就可以。到此我们就设置完了。
如图
效果
以下就看下我们的效果,关闭PLSQL,又一次启动,中文果然出现了,
后记
环境变量让我们在开发中方便了非常多,可是它也是好多问题的“万恶之源泉”,让人痛并快乐着的环境变量啊。
以上是关于oracle 显示正常输出到界面为问号的主要内容,如果未能解决你的问题,请参考以下文章