Foros del Web » Programación para mayores de 30 ;) » Java »

codigo ascii

Estas en el tema de codigo ascii en el foro de Java en Foros del Web. Hola a todos! Tengo un archivo de texto con información para introducir en una base de datos. En este archivo de texto letras como la ...
  #1 (permalink)  
Antiguo 13/06/2003, 04:00
 
Fecha de Ingreso: junio-2003
Mensajes: 4
Antigüedad: 20 años, 10 meses
Puntos: 0
codigo ascii

Hola a todos!
Tengo un archivo de texto con información para introducir en una base de datos. En este archivo de texto letras como la ñ no aparecen legibles,y hay en su lugar unos simbolos raros.
Una vez recogida la informacion de este archivo de texto, la imprimo en MsDos (System.out.println("");) y la ñ se puede ver bien escrita.
Posteriormente tengo una sentencia sql con un INSERT INTO... para introducir esa informacion en la tabla, imprimo de nuevo esa sentencia sql, y sigo viendo la ñ bien escrita.
El problema es que luego en la tabla de mi base de datos se ve de nuevo el simbolo raro que aparecia en el archivo de texto inicial.
Pense ir leyendo caracter a caracter y cuando encontrara el simbolo raro sustituirlo por la ñ, pero he imprimido el archivo de texto en ascii y el codigo del simbolo raro q sustituye a la ñ es el de la ñ,asi que no puedo sustituirlo por la ñ pq ya es la ñ.
Me parece muy raro esto que me esta pasando y no me habia sucedido nunca.En MsDos el simbolo raro se ve bien(como la letra q es en realidad), pero luego en la base de datos sale mal.
Espero que alguien me pueda ayudar pronto.
Un saludo a todos!
Laura
  #2 (permalink)  
Antiguo 13/06/2003, 07:34
Avatar de kripton  
Fecha de Ingreso: diciembre-2002
Ubicación: Zaragoza
Mensajes: 296
Antigüedad: 21 años, 4 meses
Puntos: 0
Hola muelli!!!

¿Has probado a lanzar una select y ver que devuelve? Porque si al devolver los datos los devuelve correctamente te debería dar igual cómo se almacenen en las tablas.

Suerte,
un saludo,
kripton
  #3 (permalink)  
Antiguo 14/06/2003, 14:17
Avatar de Aisengard  
Fecha de Ingreso: marzo-2003
Ubicación: en el ojo de la tormenta
Mensajes: 3.566
Antigüedad: 21 años, 1 mes
Puntos: 0
kripton iba a realizar una consulta pero debido a tu respuesta creo que ya no sera necesario, gracias.
__________________
Lo que puedes hacer, o has soñado que podrías hacer, debes comenzarlo. La osadía lleva en sí, genio, poder y magia". :aplauso: (J.W. von Goethe)


  #4 (permalink)  
Antiguo 14/06/2003, 14:24
Avatar de kripton  
Fecha de Ingreso: diciembre-2002
Ubicación: Zaragoza
Mensajes: 296
Antigüedad: 21 años, 4 meses
Puntos: 0
De nada Aisengard, ha sido un placer ayudarte sin enterarme

Un saludete,
kripton
__________________
Hoy por ti, mañana por mi. Compartiendo entre amigos.

Usuario Registrado Linux #327495
  #5 (permalink)  
Antiguo 15/06/2003, 06:01
 
Fecha de Ingreso: junio-2003
Mensajes: 4
Antigüedad: 20 años, 10 meses
Puntos: 0
Hola Kripton!
Si que he imprimido una sentencia select, y sale bien escrita. Siempre que imprimo los datos en MsDos se ven bien (y me parece normal, pq el codigo ascii del simbolo que aparece en vez de la ñ es el mismo que el de la ñ), pero no entiendo pq luego en la base de datos se me escribe mal.
Y si me afecta que no se escriba correctamente, porque luego hago un select donde la clausula where es A.Nombre = F.Nombre. La tabla A está bien escrita, y la tabla F es la que he creado a partir del archivo de texto (donde tampoco se ven bien algunas letras) y que está mal escrita. Asi que los registros donde hay "ñ", "ª" y demas letras no me aparecen porque no se cumple la igualdad.
Se te ocurre algo mas?? Es importante que resuelva este problema.
Muchas gracias.
  #6 (permalink)  
Antiguo 15/06/2003, 07:28
Avatar de kripton  
Fecha de Ingreso: diciembre-2002
Ubicación: Zaragoza
Mensajes: 296
Antigüedad: 21 años, 4 meses
Puntos: 0
Hola muelli!!!

Creo que lo que estas contando es que te han pasado un dbexport de una tabla, y tu mediante java cargas esa dbexport en tu base de datos. no??

Bueno el que aparezcan caracteres raros en el fichero de la dbexport puede ser por la configuración del motor de la base de datos (idioma generalmente), por el sistema operativo que aloja al motor de la base de datos...

Unas posibles soluciones que se me ocurren son:

Solucion1: Abres el fichero y haces un buscar/remplazar de los caracteres "raros". Haces un guardar como y finalmente utilizas este fichero para cargar tu base de datos.

Solución2: Te curras un procedimiento almacenado que relice updates sobre la tabla, cargandose los caracteres raros por los buenos (todos los motores de base de datos tienen funciones para remplazar cadenas de caracteres).

A mi me convence mas la solucion2, ya que aunque es mas costosa de desarrollar, ya tendras creado el almacenado para posteriores cargas de la tabla, ademas puedes llegar a incluir en tu codigo java la llamada al almacenado con lo cual con ejecutarlo tendrias la tabla correctamente cargada.

Suerte,
un saludo,
kripton
  #7 (permalink)  
Antiguo 16/06/2003, 03:27
 
Fecha de Ingreso: junio-2003
Mensajes: 4
Antigüedad: 20 años, 10 meses
Puntos: 0


Malas noticias Kripton!!

Estoy alucinando.Hago una sentencia SQL para recoger todos los registros WHERE Nombre LIKE '%|%'

La raya esa que he puesto es la que aparece pulsando (Alt Gr+1) que es el simbolo que aparece en vez de "ª".

Lo que queria hacer es recogerlos y luego hacer el replace del que me hablabas ayer.

El problema es que me dice que no hay ningun registro que cumpla esa condición, y yo te prometo que en mi tabla de la base de datos aparecen nombres como "M| Jose" en vez de "MªJose"

Se te ocurre algo mas?? Alguien me puede ayudar?? Todos podeis opinar, al final a alguien se le ocurrirá la solucion...

Muchas gracias

Última edición por muelli; 16/06/2003 a las 03:26
  #8 (permalink)  
Antiguo 17/06/2003, 02:50
 
Fecha de Ingreso: junio-2003
Mensajes: 4
Antigüedad: 20 años, 10 meses
Puntos: 0
Hola Kripton!
Creo que he solucionado el problema, asi que te voy a contar lo que pasaba por si te sucede algo parecido alguna vez.
En MsDos los caracteres utilizan una fuente de 256 caracteres, de los cuales los primero 128 estan fijados(US-ASCII).El resto dependen de la version nacional(cada variante ascii se llama "code page").
En windows estos ultimos128 caracteres se rigen por otra "code page".Como Access es una base de datos de windows, tiene tb un "code page" diferente al de MsDos.
Buscando en Internet he encontrado el code Page de windows, y por fin he encontrado codigos diferentes para la ñ y el simbolo raro que aparece sustituyendola. Asi que ahora si puedo hacer un replace a partir del codigo ascii.
Un saludito,
Laura
  #9 (permalink)  
Antiguo 17/06/2003, 03:23
Avatar de kripton  
Fecha de Ingreso: diciembre-2002
Ubicación: Zaragoza
Mensajes: 296
Antigüedad: 21 años, 4 meses
Puntos: 0
Felicidades muelli!!!
gracias por compartir tu solucion, ya que estos fenomenos paranormales los podemos sufrir todos cualquier dia

Espero no se te resista mas la base de datos

Si se te rompe cualquier otra cosilla ya sabes por donde andamos.

Un saludete,
kripton
__________________
Hoy por ti, mañana por mi. Compartiendo entre amigos.

Usuario Registrado Linux #327495
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:39.