Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Replace

Estas en el tema de Replace en el foro de PostgreSQL en Foros del Web. Hola amigos, Ahora me encuentro con este problema. Lo que quiero hacer es remplazar estos caracteres á , é etc, por el caracter con acentos. ...
  #1 (permalink)  
Antiguo 16/10/2009, 08:04
 
Fecha de Ingreso: febrero-2009
Mensajes: 142
Antigüedad: 15 años, 2 meses
Puntos: 0
Exclamación Replace

Hola amigos,

Ahora me encuentro con este problema.
Lo que quiero hacer es remplazar estos caracteres á , é etc, por
el caracter con acentos.

Mi query lo tengo de esta manera:


select distinct cv_tipomedio,replace (tm.cv_tipomedio , 'á' , 'á'), replace (cv_tipomedio , 'é' , 'é'),
replace (cv_tipomedio , 'í' , 'í'),replace (cv_tipomedio , 'ó' , 'ó'),replace (cv_tipomedio , 'ú' , 'ú'),
replace(cv_tipomedio , 'Á' , 'Á'),replace (cv_tipomedio , 'É' , 'É'),replace (cv_tipomedio , 'Í' , 'Í'),
replace (cv_tipomedio , 'Ó' , 'Ó'),replace (cv_tipomedio , 'Ú' , 'Ú'),
tm.id_tipomedio from cat_tipomedio tm;

Me arroga como resultado esto:


"Periódico";"Periódico";"Peri&oacute ;dico";"Periódico";"Periódico";"Peri&oacute ;dico";"Periódico";"Periódico";"Peri ódico";"Periódico";"Periódico ";1


Lo que quiero hacer es que solo me arroge la palabra "Periódico", sin que me aparescan los demás.

Espero que me puedan ayudar....

Espero sus repuestas
  #2 (permalink)  
Antiguo 16/10/2009, 08:22
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Replace

Es así como lo estas haciendo.

Código postgres:
Ver original
  1. postgres=> select replace('periódico','ó','ó');
  2.   replace
  3. -----------
  4.  periódico
  5. (1 fila)

Yo creo mas bien, que tienes problemas en la codificación de caracteres.
Cuando insertas un registro con acento, como te sale?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 16/10/2009, 08:24
 
Fecha de Ingreso: febrero-2009
Mensajes: 142
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Replace

Cita:
Iniciado por huesos52 Ver Mensaje
Es así como lo estas haciendo.

Código postgres:
Ver original
  1. postgres=> select replace('periódico','ó','ó');
  2.   replace
  3. -----------
  4.  periódico
  5. (1 fila)

Yo creo mas bien, que tienes problemas en la codificación de caracteres.
Cuando insertas un registro con acento, como te sale?

Lo inserto de esta manera:

Perióco
  #4 (permalink)  
Antiguo 16/10/2009, 08:25
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Replace

Pero cuando insertas periódico... como aparece?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 16/10/2009, 08:34
 
Fecha de Ingreso: febrero-2009
Mensajes: 142
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Replace

Cuando inserto periódico a la base de datos
Aparece de esta manera.

Perióco

Ya que hice una clase en java para convertir ese caracter por los ´
  #6 (permalink)  
Antiguo 16/10/2009, 08:36
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Replace

Lo que te quiero decir es:
si insertas Perióco y haces un replace a ó, es posible que la base de datos tenga mal la codificación y te esté reemplazando ó por ó.
Haz una inserción directa en la BD y comprueba que postgres está en capacidad de ller un carácter como ó.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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 09:53.