PL/SQL内查询Oracle数据库 数据类型为CHAR的显示????解决方法(网转)
配置好数据库连接后,plsql查看数据与插入中文数据都显示问号(???),
同事的都正常显示,查看了很多资料,有的说是数据库字符集的原因让修改数据库的字符集,但是我的数据库都是远程连接正式环境的数据库,修改正式库的字符集是不可能了,毕竟别人的都好使。后来终于得以解决,
下面我来详细介绍如何解决的(简单好用):
原因:本机没有配置数据库字符集环境变量,或是与数据库字符集不一致。
步骤一:执行在plsql中执行 select userenv('language') from dual; 语句来查看本机的字符集,
字符集为:AMERICAN_AMERICA.ZHS16GBK
步骤二:在环境变量中添加两条配置信息,鼠标右键我的电脑(计算机/此电脑)等图标,选择属性,选择高级系统设置,选择高级选项卡的环境变量,在系统变量里新建两条配置:
1、LANG=zh_CN.GBK(GBK是这样形式的,不同编码这里的value值需要跟着改变)
2、NLS_LANG=AMERICAN_AMERICA.ZHS16GBK(这个value值就是我们步骤一中拼接好的那个值)
步骤三:这步也是至关重要的,到这里我们就配置好了,很多的博客与帖子都说重启plsql即可,但是我的并没有生效,需要重启电脑 生效,很重要。
原文地址:https://blog.csdn.net/hzp666/article/details/109045415?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165586048216782350949565%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165586048216782350949565&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~pc_rank_34-1-109045415-null-null.142^v20^pc_rank_34,157^v15^new_3&utm_term=PLSQL%E6%95%B0%E6%8D%AE%E4%B8%BA&spm=1018.2226.3001.4187