Oracle表数据 中文显示问号的问题解决方法

最近遇到这个问题。oracle查询后表的中文数据,表数据显示为???

出现问题后首先检查

select  userenv('language')from dual

 结果正常应该是简体GBK:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

出现问题后,首先检查注册表是否被串改。

win+R   运行    regedit 进去注册表编辑器

HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\<home> 

<home>不同oracle显示不同我的为HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraDb11g_home1

查找键值:NLS_LANG 检查数据是否为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

如果不是进行修改。

注册表检查后。

PL/sql 检查是否还有该问题。一般情况下,问题应该解决。

但是被串改的注册表有可能再次被串改。可以通过添加系统环境变量来解决这个问题

管理员模式cmd执行

wmic ENVIRONMENT create name="NLS_LANG",username="<system>",variableValue="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
pause

 或者在 我的电脑→属性→高级系统设置→环境变量中新建系统变量

NLS_LANG 赋值  SIMPLIFIED CHINESE_CHINA.ZHS16GBK

猜你喜欢

转载自blog.csdn.net/player26/article/details/81094901
今日推荐