miércoles, 1 de junio de 2011

Problemas de encoding TOAD Oracle

Me he tirado con el TOAD mas de 2 años con un pequeño problema, cada vez que había algún campo con algún caracter «raro» me pintaba una ?. He podido vivir con ello porque no necesitaba para nada introducir datos desde TOAD, solo lo utilizaba para consultas.


El problema ha llegado cuando no he tenido mas remedio que introducir datos.


Buscando por Internet he visto 2 soluciones, una mejor que otra y mucho mas «correcta». Pero está claro que la «menos correcta» me ha llevado a la segunda.


Para empezar en todos lados hablaban de cambiar el NLS_LANG de oracle, obviamente mi problema no es ese, la base de datos estaba totalmente correcta, el problema es el cliente, en este caso el TOAD.


Solución 1: Crear una variable de entorno en nuestro pc que se llame NLS_LANG y el valor el que necesitemos, en mi caso, SPANISH_SPAIN.WE8ISO8859P1. Esta solución, a priori, debe funcionar con todos los clientes, aunque solo lo he probado con TOAD.


Solución 2: A mi modo de ver es la mas correcta para TOAD, ya que es establecer esa variable en el propio cliente, no en el pc. Pasos a seguir:
En la pantalla de conexión de TOAD tenemos esta opción:



Pulsamos sobre los 3 puntos (...) y obtenemos la siguiente pantalla



Y aquí es donde establecemos el valor a NLS_LANG. En mi caso estaba vacío, puede que en el tuyo tenga otro valor que no te valga ;)

Ni que decir tiene que tanto en el primer caso como en el segundo, debemos reiniciar el TOAD después del cambio.

Y esta chorrada señores, me ha tenido mas de 2 años viendo interrogaciones donde se supone que debería haber vocales con acentos o ñ's ;)

Espero haberte ayudado