PL / SQL开发人员返回问号而不是特殊字符

时间:2019-03-26 08:04:36

标签: sql oracle character-encoding nls

嗨,我在PL / SQL Developer中遇到问题,只返回问号, 除非我通过dblink连接到另一台服务器,否则它一直都在发生,因此它能够返回丹麦字母或特殊字符,例如“£”。但是无论何时我在本地运行SQL都不会。

例如,我无法编译包含这些字母的存储过程

selecet * from some_table where column like 'øæå' 

becomes **selecet * from some_table where column like '???'** after compile

a simple select 'åøæ' from dual also just returns ???

我尝试搜索此站点的答案,因为似乎有很多类似的问题。但似乎没有答案。

这个问题也只是在我的工作站上存在,我的同事们没有这个问题,我的虚拟机也没有。据我们所知,所有这些都运行相同的操作系统并具有相同的设置。

机器正在运行Windows 8,(代码页850) NLS设置

"PARAMETER";"VALUE";"CON_ID"
"NLS_LANGUAGE";"AMERICAN";"0"
"NLS_TERRITORY";"AMERICA";"0"
"NLS_CURRENCY";"$";"0"
"NLS_ISO_CURRENCY";"AMERICA";"0"
"NLS_NUMERIC_CHARACTERS";".,";"0"
"NLS_CALENDAR";"GREGORIAN";"0"
"NLS_DATE_FORMAT";"DD-MON-RR";"0"
"NLS_DATE_LANGUAGE";"AMERICAN";"0"
"NLS_CHARACTERSET";"WE8ISO8859P15";"0"
"NLS_SORT";"BINARY";"0"
"NLS_TIME_FORMAT";"HH.MI.SSXFF AM";"0"
"NLS_TIMESTAMP_FORMAT";"DD-MON-RR HH.MI.SSXFF AM";"0"
"NLS_TIME_TZ_FORMAT";"HH.MI.SSXFF AM TZR";"0"
"NLS_TIMESTAMP_TZ_FORMAT";"DD-MON-RR HH.MI.SSXFF AM TZR";"0"
"NLS_DUAL_CURRENCY";"$";"0"
"NLS_NCHAR_CHARACTERSET";"AL16UTF16";"0"
"NLS_COMP";"BINARY";"0"
"NLS_LENGTH_SEMANTICS";"BYTE";"0"
"NLS_NCHAR_CONV_EXCP";"FALSE";"0"

如果我查看regedit。我得到的Key_oraClient11g_home1文件夹 NLS_lang AMERICAN_AMERICA.WE8ISO8859P1

从WE8ISO8859P1到WE8ISO8859P15的差异应该很小。并将regedit中的WE8ISO8859P1更改为WE8ISO8859P15不能解决问题。

将nls会话语言更改为= Danish,也不能解决问题,但是确实将日期更改为丹麦语(从May => Maj,March => Marts等)

适合任何需要时间阅读和回答此问题的人。预先感谢。

0 个答案:

没有答案