2017-10-17 88 views
0

我正在改变一个PHP服务器应用程序从Windows到Linux,当我从Oracle数据库查询特殊字符时,我总是得到?。在Windows服务器上我做这个查询口音Oracle - 特殊字符

SQL> select length ('ñ') from dual; 

LENGTH ('Ñ') 
----------- 
           1 

,并在Linux它生成此

SQL> select length ('ñ') from dual; 

LENGTH ('??') 
------------ 
            2 
+0

SQL>从nls_database_parameters中选择值,其中parameter ='NLS_CHARACTERSET'; VALUE ---------------------------------------- WE8ISO8859P1 SQL>从v $ nls_parameters中选择值,其中parameter ='NLS_CHARACTERSET'; VALUE ---------------------------------------------- ------------------ WE8ISO8859P1 –

+0

请编辑您的问题以获取更多信息,而不是将它们作为评论。 –

回答

0

您必须根据字符集的Linux的设置您NLS_LANG变量。

检查字符集与locale charmap或回声$LANG 然后设置NLS_LANG因此,例如export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

请参阅 OdbcConnection returning Chinese Characters as "?"了解更多详情。