解决plsql中文显示问号(???)问题
最近新买的电脑,配置好数据库连接后,plsql查看数据与插入中文数据都显示问号(???),同事的都正常显示,查看了很多资料,有的说是数据库字符集的原因让修改数据库的字符集,但是我的数据库都是远程连接正式环境的数据库,修改正式库的字符集是不可能了,毕竟别人的都好使。后来终于得以解决,下面我来详细介绍如何解决的(简单好用):
原因:本机没有配置数据库字符集环境变量,或是与数据库字符集不一致。
步骤一:执行在plsql中执行 select userenv('language') from dual; 语句来查看本机的字符集,或是执行 select * from V$NLS_PARAMETERS; 语句。两者的区别是第一种查看到的是拼接好的一条字符集数据,第二种是数据库详细配置参数有多条数据需要将 第一行,第二行,第九行的value数据以 第一行_第二行.第九行的格式拼接起来,我的拼接好好后是AMERICAN_AMERICA.ZHS16GBK
步骤二:在环境变量中添加两条配置信息,鼠标右键我的电脑(计算机/此电脑)等图标,选择属性,选择高级系统设置,选择高级选项卡的环境变量,在系统变量里新建两条配置:
1、LANG=zh_CN.GBK(GBK是这样形式的,不同编码这里的value值需要跟着改变)
2、NLS_LANG=AMERICAN_AMERICA.ZHS16GBK(这个value值就是我们步骤一中拼接好的那个值)
步骤三:这步也是至关重要的,到这里我们就配置好了,很多的博客与帖子都说重启plsql即可,但是我的并没有生效,需要重启电脑 生效,很重要。