![](/img/trans.png)
[英]oracle 11g odbc drivers installation on windows 7 oracle odbc driver with the same name already exists
[英]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
您应该获取任何字符,只要您的列的数据类型为NVARCHAR2
或NCHAR
(不是VARCHAR2
)
将您的本地NLS_LANG
设置为ENGLISH_UNITED KINGDOM.AL32UTF8
它应该可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.