我的情况是这两个问题同时出现,以下是具体情况。
一、关于以汉字当别名出现ORA-00911:invadlid character的问题。
我第一次使用plsql时,对该软件还不懂就出现了此问题,我在网上看了很多帖子,解决办法引到了解决汉字显示为问号的问题上,以致于我搞了很久,都没有解决。
我的解决办法是:用双引号将汉字别名引住,英文双引号,例如:select a "啊" from b。将别名外加上英文的双引号即可。
二、关于查询结果中汉字显示为问号的问题
解决办法:
第一步:
在sql窗口中输入 select userenv('language')from dual,查看结果,我的结果显示的是AMERICAN_AMERICA.ZHS16GBK。这个意思是oracle服务器端字符集的编码是AMERICAN_AMERICA.ZHS16GBK这样的。在sql窗口中输入select * from V$NLS_PARAMETERS,查看本地字符集的编码,执行,会出现两列数据,看右边那列的第一、二、九行数据(有的是一、二、六行数据)依次拼接后和服务器端的数据对照,二者一样的话,说明二者的字符集编码方式一样,我的是一样的,但汉字显示的还是问号。所以我也进行了系统变量的添加。
第二步:
添加系统变量(不是用户变量),我们需要添加和