Lenguaje y territorio

Como puedo cambiar el lenguaje y el territorio a mi base de dartos para que me pueda mostrar la letra Ñ, puesto me muestra es un signo de interrogación.
Estoy en colombia

1 Respuesta

Respuesta
1
Vaya. Parece que el tema de la Ñ le trae un poco de cabeza.
Para poder ayudarle mejor ¿podría indicarme vd los siguientes datos?
El valor de su variable de entorno NLS_LANG. (Si vd utiliza windows, lo podrá verificar en el registro en la clave HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0
Si no está utilizando windows, por favor especifique qué utiliza.
El valor de las variables
NLS_CHARACTERSET y
NLS_NCHAR_CHARACTERSET de su base de datos.
para comprobarlo ejecute el siguiente comando SQL:
"SELECT * FROM NLS_DATABASE_PARAMETERS"
el valor de las variables
NLS_LANGUAGE y
NLS_TERRITORY de la instancia.
Para comprobarlo ejecute:
"SELECT * FROM NLS_INSTANCE_PARAMETERS"
y por último el valor de las variables
NLS_LANGUAGE y
NLS_TERRITORY de la sesión:
"SELECT * FROM NLS_SESSION_PARAMETERS"
Espero que estos datos sean suficientes para poder solucionar su problema.
Hola cbalba,
gracias por tu respuesta, bueno los datos son los siguientes:
La base de datos esta en solaris 8.
Las variables de la base de datos:
- NLS_CHARACTERSET=WE8ISO8859P1
- NLS_NCHAR_CHARACTERSET=WE8ISO8859P1
LAS VARAIBLES DE INSTANCIA:
- NLS_LANGUAGE=MEXIVAN SPANISH
- NLS_TERRITORY=AMERICA
LAS VARIABLES DE SESSION:
- NLS_LANGUAGE=SPANISH
- NLS_TERRITORY=SPAIN
De antemano, gracias por tu ayuda
Atentamente. Anton
Pues por los datos que me señala no debería tener problemas para ver la Ñ.
No conozco el SOLARIS 8, pero si está basado en unix, prueba a comprobar la variable de entorno NLS_LANG. Establecela a
"NLS_LANG=SPANISH_SPAIN.WE8ISO8859P1; export NLS_LANG".
Se me ocurren dos variantes del problema:
- La primera y a la vista de los datos que me has ofrecido, puede ser que los problemas vengan de los valores de los parámetros de la instancia. Veo que tienes instalado como lenguaje "MEXICAN SPANISH".
En versiones antiguas de Oracle era necesario que los "idiomas adicionales" se instalasen aparte. No se si en las actuales hay que hacerlo.
Revisa en esta dirección el apartado
Installing Additional Languages
http://dbserv.npi.msu.su/DOC/server/doc/NTSGS/ape.htm
Si crees que tienes instalado correctamente el "MEXICAN SPANISH" o bien no quieres instalarlo, puedes intentar cambiar los valores de los parámetros de la instancia y poner:
NLS_LANGUAGE="SPANISH"
NLS_TERRITORY="SPAIN"
Para ello tienes que modificar el fichero INIT. ORA de la instancia (si tienes varias instancias puede que se llame INITSID. ORA donde SID es el nombre de tu instancia).
Si esto no funciona entonces yo empezaría a pensar que no es un problema de la base de datos sino del S.O.
- La segunda posibilidad que se me ocurre es que realmente en la base de datos no tengas grabada una Ñ, ¿sino un carácter?.
Podrías probar a hacer un select 'Ñ' from dual a ver que te devuelve.
Listo, hice la prueba del select con la ñ, y si me funciono, osea que la base de datos tiene guardado es un código ascci en vez de la ñ, ahora toca actualizar todos los nombres que tengan esa ñ.
Pero como hago para cambiar el lenguaje de la base de datos, la instancia y la session pra que queden todos con el mismo idioma.
Gracias
Gracias, cbalba con tu ayuda pude arreglar mi problema. En cualquier momento lo estaré molestando
Lo primero que debe hacer es asegurarse de que con su configuración actual puede escribir y recuperar la 'Ñ'.
Para ello deberá crear una tabla de prueba con un campo VARCHAR2(2).
Después realice un INSERT INTO PRUEBA VALUES ('Ññ')
y posteriormente un SELECT * FROM PRUEBA;
Si después de esta prueba lee correctamente la Ñ entonces no es necesario que cambie ninguna configuración. Simplemente deberá realizar la actualización de los datos que vd. me comenta.
Ojo, también deberá revisar el proceso que insertó los datos, pues es en realidad el origen del problema.
Si a pesar de ello, vd insite en poner el mismo idioma en la BD, la INSTANCIA y la SESSION, repasamos que:
Para cambiar el idioma en la BD:
"ALTER DATABASE mi_base CHARACTER SET WE8ISO8859P1"
"ALTER DATABASE mi_base NATIONAL CHARACTER SET WE8ISO8859P1"
Recuerde que para hacer esto debe hacer una parada de la base de datos y un arranque en exclusiva.
Para más información visite:
http://oracle.ittoolbox.com/documents/document.asp?i=1601
Para cambiar el idioma en la instancia, tiene que modificar las variables de la instancia en el PFILE, es decir en el fichero INIT. ORA o en el fichero INITSID. ORA de su instancia donde SID es el nombre de su instancia.
Para cambiarlo en la sesión, bien puede ejecutar el correspondiente:
"ALTER SESSION SET NLS_LANGUAGE=SPANISH"
o
"ALTER SESSION SET NLS_LANGUAGE=xSPANISH"
después de iniciar la sesión o establecer la variable de entorno NLS_LANG al valor:
"SPANISH_SPAIN.WE8ISO8859P15"
Si utiliza un entorno windows, esta variable se establece en la clave de registro HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0 y si su entorno es del tipo unix se establece con un :
"NLS_LANG=SPANISH_SPAIN.WE8ISO8859P1; export NLS_LANG".

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas