繁体   English   中英

如何在Windows 7上为Oracle 11g ODBC客户端更改NLS_CHARACTERSET设置

[英]How do I change the NLS_CHARACTERSET setting on Windows 7 for Oracle 11g ODBC client

我正在尝试将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

有什么下一步的想法吗?

如果NLS_CHARACTERSET设置为US7ASCII则您将永远不会得到任何特殊字符。 使用NLS_NCHAR_CHARACTERSET=AL16UTF16您应该获取任何字符,只要您的列的数据类型为NVARCHAR2NCHAR (不是VARCHAR2

将您的本地NLS_LANG设置为ENGLISH_UNITED KINGDOM.AL32UTF8它应该可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM