Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-04-2023
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
actualizar campos utf8 a partir de campos acentuados

Hola, tengo el siguiente problema con Firebird 2.5:
En una tabla de usuarios esta definido el campo USER_LAST_NAME con charset = NONE.
El problema es que cuando el cliente por medio de una aplicación carga el apellido del usuario con acentos o con Ñ, en la base quedan con caracteres tales como é para el acento y otro tanto para la Ñ. Lo que hice fue crear un dominio asi:

CREATE DOMAIN USERNAME VARCHAR(15) CHARACTER SET UTF8 collate UNICODE_CI_AI

Luego cree el nuevo campo newapellido con ese dominio.
Para actualizar el campo nuevo use:

UPDATE users SET NEWAPELLIDO = CAST(CAST(USER_LAST_NAME as VARCHAR(15) CHARACTER SET ISO8859_1) as VARCHAR(15) CHARACTER SET UTF8)

También probé con :

UPDATE users SET NEWAPELLIDO = CAST(CAST(USER_LAST_NAME as VARCHAR(15) CHARACTER SET NONE) as VARCHAR(15) CHARACTER SET UTF8)



Pero el campo NEWAPELLIDO queda con los mismos caracteres especiales, por ejemplo Coldéira, en el campo original esta como Coldéira y al hacer el update queda exactamente igual Coldéira.

Son distintos clientes y no tengo chances de poder recrear las tablas.

Alguna ayuda ?

Gracias
Responder Con Cita
  #2  
Antiguo 11-04-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si ya has guardado con iso8859_1 no vas a poder codificarlo a utf8.
A lo mejor puedes exportar esos apellidos a un fichero de texto (o tabla externa), leerlo con notepad++ (por ejemplo), cambiarle la codificación a utf8, guardar de nuevo el fichero y después importarlo (leer la tabla externa) hacia la base de datos.
Una vez convertidos y en la BD puedes pasarlo al campo nuevo que quieras con el utf8.

EDITO: A ver si te sirve esto.
Responder Con Cita
  #3  
Antiguo 11-04-2023
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Gracias Casimiro
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como hacer consulta para crear dos campos a partir de uno Rom@n SQL 2 24-12-2008 17:56:37
Actualizar Campos calculados joaquin Conexión con bases de datos 6 03-08-2006 22:43:04
Actualizar campos calculados subzero Firebird e Interbase 4 14-09-2005 15:13:54
actualizar campos vetustas Conexión con bases de datos 3 14-01-2004 21:59:53
Actualizar campos de 64 bit. gqxns Varios 0 03-10-2003 15:46:46


La franja horaria es GMT +2. Ahora son las 21:54:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi