错误原因:
异机恢复oracle数据库DMP备份文件时(由机器A将数据备出,恢复至机器B内),出现中文显示乱码,搜索结果中,中文显示为问号“???”,一般中文显示问题原因在于前后字符集不一致导致。中文正常显示时,字符集为ZHS16GBK。
解决方案:
1、检查Oracle数据库中字符集是否正确。
SQL语句:select * from v$NLS_PARAMETERS
查询结果中:NLS_LANGUAGE项数值应为:SIMPLIFIED CHINESE
SQL语句:select userenv('language') from dual;
查询结果应显示为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
2、检查环境变量
计算机->属性->高级系统设置->环境变量
新建系统变量:变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
3、重新连接PL/SQL
将已连接的PL/SQL退出登录,重新登录PL/SQL即可正常显示中文。