Oracle
 sql >> Database >  >> RDS >> Oracle

Perché Oracle visualizza ??? per caratteri speciali come åäö

Molto probabilmente è dovuto alla mancata corrispondenza tra il set di caratteri NLS specifico per la locale e il set di caratteri del database . Oppure, il NLS_LANG il valore non è impostato correttamente nella variabile ambientale del sistema operativo .

Dai un'occhiata a Perché sul mio client vengono visualizzati valori spazzatura/caratteri speciali/punti interrogativi?

  1. Il set di caratteri del tuo client non corrisponde al set di caratteri del database.

Puoi confrontare tra :

-- locale-specific characterset

select value
from   v$nls_parameters 
where  parameter = 'NLS_CHARACTERSET';


-- database characterset

select value
from   nls_database_parameters 
where  parameter = 'NLS_CHARACTERSET';

Se vedi una mancata corrispondenza tra i due, imposta il set di caratteri NLS specifico della locale su quello del set di caratteri del database.

  1. Se i set di caratteri sopra corrispondono, è necessario impostare il valore NLS_LANG nella variabile ambientale del sistema operativo.

Per il sistema operativo Windows, il formato è:

[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]

Segui le istruzioni nella documentazione relativa alla configurazione di NLS_LANG:Impostazione della variabile di ambiente NLS_LANG per i database Oracle