原文地址:解决PLSQL Developer 插入中文 乱码问题

PLSQL Developer 插入中文 乱码问题,如图解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP

解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP   解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP

这个是由于oracle服务器端字符编码 和 Oracle 客户端 字符编码不一致引起的。

检查Oracle服务器端字符编码,用

select userenv('language') from dual;
select * from v$nls_parameters a where a.PARAMETER = 'NLS_CHARACTERSET';

如下:

解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP     解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP   解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP

通过查找注册表:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\里,NLS_LANG的具体键值即可知道客户端使用的字符集,如图:

解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP

解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP

检查到这里好像没有问题。根据网上提示,打PL/SQL Developer工具的:帮助-支持信息-信息 选项卡里进行检查,在“Character Sets”下面,有一项是:“NLS_LANG”, 其值为空,但上面已经检查过注册表NLS_LANG项的键值是正确的,这说明PL/SQL Developer工具没加载到注册表的信息。

解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP

看来得添加环境变量了,在环境变量-系统变量里,新增变量NLS_LANG,将上面查到的Oracle服务端在使用的字符集(SIMPLIFIED CHINESE_CHINA.ZHS16GBK)填进去即可,然后退出PL/SQL Developer再重新打开登陆进Oracle。

解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP

解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP解决PLSQL Developer 插入中文 乱码问题(转)-LMLPHP

重新向Oracle数据库中插入中文再查询,应该不会再变为问号了!

04-25 23:04