sql >> Base de Datos >  >> RDS >> Oracle

¿Por qué Oracle muestra ??? para caracteres especiales como åäö

Lo más probable es que se deba a la discrepancia entre el conjunto de caracteres NLS específico de la configuración regional y el conjunto de caracteres de la base de datos . O bien, el NLS_LANG el valor no está configurado correctamente en la variable de entorno del sistema operativo .

Eche un vistazo a ¿Por qué se muestran valores basura/caracteres especiales/signos de interrogación en mi cliente?

  1. El conjunto de caracteres de su cliente no coincide con el conjunto de caracteres de la base de datos.

Puedes comparar 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 ve una discrepancia entre los dos, establezca el conjunto de caracteres NLS específico de la configuración regional en el conjunto de caracteres de la base de datos.

  1. Si los conjuntos de caracteres anteriores coinciden, debe establecer el valor NLS_LANG en la variable ambiental del sistema operativo.

Para el sistema operativo Windows, el formato es:

[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]

Siga las instrucciones en la documentación sobre la configuración de NLS_LANG:Configuración de la variable de entorno NLS_LANG para bases de datos de Oracle