2

前段时间我的 PL/SQL 停止显示字符åäö

我尝试重新安装 oracle_home_11g,PL/SQL 清理了注册表,但问题仍然存在。

图片1 图2

有谁知道为什么?

4

1 回答 1

3

很可能是由于特定于语言环境的 NLS 字符集数据库字符集之间的不匹配。否则,操作系统环境变量中的NLS_LANG值未正确设置。

看看为什么我的客户端会显示垃圾值/特殊字符/问号?

  1. 您的客户端字符集与数据库字符集不匹配。

您可以比较:

-- 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 字符集设置为数据库字符集的字符集。

  1. 如果上述字符集匹配,则需要在 OS 环境变量中设置 NLS_LANG 值。

对于 Windows 操作系统,格式为:

[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]

按照文档中有关设置 NLS_LANG 的说明进行操作:为 Oracle 数据库设置 NLS_LANG 环境变量

于 2014-09-12T15:04:51.120 回答