前段时间我的PL / SQL停止显示字符åäö
。
我已经尝试重新安装oracle_home_11g,PL / SQL清理了注册表但问题仍然存在。
任何人都知道为什么?
答案 0 :(得分:3)
很可能是由于特定于语言环境的NLS字符集与数据库字符集之间的不匹配。或者, NLS_LANG 值未在 OS环境变量中正确设置。
查看Why are junk values/special characters/question marks displayed on my client?
您可以比较:
-- locale-specific characterset
select value
from v$nls_parameters
where parameter = 'NLS_CHARACTERSET';
-- database characterset
select value
from nls_database_parameters
where parameter = 'NLS_CHARACTERSET';
如果您发现两者之间不匹配,则将特定于语言环境的NLS字符集设置为数据库字符集的字符集。
对于Windows操作系统,格式为:
[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]
按照有关设置NLS_LANG的文档中的说明进行操作:Setting the NLS_LANG Environment Variable for Oracle Databases