我正在尝试将 Oracle 数据库中的数据检索到 Windows 7 PC 上的 MS Access 或 Excel 中。数据包括度数和直径符号等字符。这些在 PC 上显示不正确。我可以看到在我的查询中使用转储函数正确存储了数据,并且是对客户端字符集的转换没有将它们带入。
通过查看此查询,并使用 查询数据库参数SELECT * FROM NLS_database_PARAMETERS
,我可以看到NLS_CHARACTERSET = US7ASCII
. 我认为这是问题的原因,因为此字符集中不包含直径符号等。
但是,我检查了注册表以查看 NLS_LANG 设置为什么,它是ENGLISH_UNITED KINGDOM.WE8MSWIN1252
. 我知道我正在查找正确的注册表项,因为当我更改语言/地区(GERMAN_GERMANY
例如)时,它确实会改变我的查询。
我还检查了覆盖此设置但找不到的环境变量。我尝试使用与上述相同的设置创建一个 NLS_LANG 环境变量,但这没有任何区别。
我的 Windows 代码页设置为 1252。数据库NLS_NCHAR_CHARACTERSET
设置为AL16UTF16
.
对下一步做什么有任何想法吗?