我的数据库中存在字符€的问题。 使用Oracle SQL Developer,它可以正常工作。但是如果我尝试使用putty和sqlplus进行查询,则无法识别字符€。
它显示了下一个结果:
SQL> select column from table;
column
------------------------------------
10▒
------------------------------------
It should be 10€
如果尝试使用带有WHERE的SELECT:
SQL> select column from table where column like '%€%';
no rows selected
SQL Developer中的SELECT都显示正确的答案。
以下是数据库的配置:
PARAMETER VALUE
----------------------------------------------------------------
NLS_LANGUAGE SPANISH
NLS_TERRITORY SPAIN
NLS_CURRENCY €
NLS_ISO_CURRENCY SPAIN
NLS_NUMERIC_CHARACTERS ,.
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE SPANISH
NLS_CHARACTERSET WE8MSWIN1252
NLS_SORT SPANISH
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY €
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
这是服务器的配置:
> locale
LANG=es_ES.UTF-8
LC_COLLATE=C
LC_CTYPE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_ALL=
> echo $NLS_LANG
AMERICAN_AMERICA.WE8MSWIN1252
答案 0 :(得分:1)
(代表OP发布)。
这已经解决了。有腻子配置问题。
解决方案:
将腻子翻译标签上的字符集更改为:Win 1252(Western)。