2017-10-17 64 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 "?"瞭解更多詳情。