Oracle
 sql >> Base de données >  >> RDS >> Oracle

Pourquoi Oracle affiche ??? pour les caractères spéciaux comme åäö

Cela est probablement dû à la non-concordance entre le jeu de caractères NLS spécifique aux paramètres régionaux et le jeu de caractères de la base de données . Ou bien, le NLS_LANG la valeur n'est pas correctement définie dans la variable d'environnement du système d'exploitation .

Consultez Pourquoi les valeurs indésirables/caractères spéciaux/points d'interrogation sont-ils affichés sur mon client ?

  1. Votre jeu de caractères client ne correspond pas au jeu de caractères de la base de données.

Vous pouvez comparer entre :

-- 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';

Si vous constatez une incompatibilité entre les deux, définissez le jeu de caractères NLS spécifique aux paramètres régionaux sur celui du jeu de caractères de la base de données.

  1. Si les jeux de caractères ci-dessus correspondent, vous devez définir la valeur NLS_LANG dans la variable d'environnement du système d'exploitation.

Pour le système d'exploitation Windows, le format est :

[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]

Suivez les instructions de la documentation concernant la configuration de NLS_LANG :Définition de la variable d'environnement NLS_LANG pour les bases de données Oracle