字符€不适用于sqlplus

时间:2017-03-02 15:26:33

标签: sqlplus

我的数据库中存在字符€的问题。 使用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

1 个答案:

答案 0 :(得分:1)

(代表OP发布)

这已经解决了。有腻子配置问题。

解决方案:

将腻子翻译标签上的字符集更改为:Win 1252(Western)。

Putty screenshot