前段时间我的 PL/SQL 停止显示字符åäö
。
我尝试重新安装 oracle_home_11g,PL/SQL 清理了注册表,但问题仍然存在。
有谁知道为什么?
很可能是由于特定于语言环境的 NLS 字符集和数据库字符集之间的不匹配。否则,操作系统环境变量中的NLS_LANG值未正确设置。
您可以比较:
-- 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 的说明进行操作:为 Oracle 数据库设置 NLS_LANG 环境变量