Ver Mensaje Individual
  #1  
Antiguo 11-04-2023
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Reputación: 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