Re: Como evitar los caracteres raros cuando hago backup o importacion

From: Francisco Olarte <folarte(at)peoplecall(dot)com>
To: Micky Khan <mcanchas(at)hotmail(dot)com>
Cc: FORO POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>, "pgsql-es-ayuda(at)lists(dot)postgresql(dot)org" <pgsql-es-ayuda(at)lists(dot)postgresql(dot)org>
Subject: Re: Como evitar los caracteres raros cuando hago backup o importacion
Date: 2018-10-23 17:11:41
Message-ID: CA+bJJbxJfwGS2nVroV1DGwAN=KnXDGezg4E==6K5=JqP=8NAHA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Micky:

2018-10-23 16:09 GMT+02:00 Micky Khan <mcanchas(at)hotmail(dot)com>:
> Cuando hago una importacion de datos cual es la mejor manera de hacerlo ?
> Me salen algunos caracteres raros como : Ã?Â?O

Primero, desde que formato importas ? Si es un archivo de texto, mira
que juego de caracteres tiene ( en unix y similares "file" te lo suele
decir). Eso tiene pinta de utf-8, una forma de verlo es pasarlo por un
conversor de utf-8 a lo que sea, si no da errores de codificacion de
utf-8 tienes una gran probabilidad de que sea utf o ascii, y con
caracteres de 8 bits no puede ser ascii.

Y, segun que SO uses, no te fies de lo que sale por pantalla, mira los
codigos raros con un editor binario.

> Una vez que ya lo pase y cuando hago el backup y quiero restaurarlo me sale
> que el campo es pequeño para algunas tablas

Eso puede ser porque haces el backup en utf-8 y lo restauras en
latin-1 o algo asi. Me explico, cualquier secuencia de bytes es un
latin-1 valido. Si tienes una base de datos con, p.e., "año", y la
vuelcas en utf-8 eso se vuelca como 4 bytes, si luego lo cargas en
latin-1 se importara como "a**o", y si tu columna es de 3 no cabe.

> Mi BD la tengo en Latin1

Es importante que sea el que sea el juego de caracteres de la BD
pongas el del cliente ( creo que era con set client encoding ) al que
vayas a usar. Es decir, si tu BD es latin-1, conectas, pones el
client-encoding en utf-8 y le mandas utf-8 el server lo convertira.
OJO que igual no puede, si tus datos son utf no hay, p.e., caracteres
japoneses en el latin-1.

Ten cuidado si tus datos estan en utf-8 y tu BD esta en latin-1, no
todo se puede convertir. Yo hay te recomendaria convertir el archivo
primero con un recode o similar ( que te permite decirle como
convertir los caracteres que no existen en el charset de destino ), de
forma que tengas buen control de lo que hay, y asi te conectas en
latin-1 y sabes que es pass-through.

Francisco Olarte.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Francisco Olarte 2018-10-23 17:15:34 Re: Como evitar los caracteres raros cuando hago backup o importacion
Previous Message Stephen Amell 2018-10-23 14:19:37 Re: Como evitar los caracteres raros cuando hago backup o importacion