2017-10-17 2 views
0

Je suis en train de changer une application serveur PHP de Windows vers Linux, quand je demande des caractères spéciaux de la base de données Oracle, je reçois toujours ?. sur le serveur Windows que je fais cette requêteAccents Oracle - caractères spéciaux

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

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

et linux il génère ce

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

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

SQL> sélectionner la valeur de nls_database_parameters où paramètre = 'NLS_CHARACTERSET'; VALEUR ---------------------------------------- WE8ISO8859P1 SQL> sélectionnez la valeur de v $ nls_parameters où parameter = 'NLS_CHARACTERSET'; VALEUR ---------------------------------------------- ------------------ WE8ISO8859P1 –

+0

S'il vous plaît modifier votre question pour des informations supplémentaires au lieu de les mettre comme un commentaire. –

Répondre

0

Vous devez définir votre NLS_LANG variable selon le jeu de caractères de votre Linux.

Vérifiez le jeu de caractères avec locale charmap ou écho $LANG ensuite mis NLS_LANG en conséquence, par exemple Pour plus de détails, voir OdbcConnection returning Chinese Characters as "?" pour plus de détails.