Micky:

2018-10-23 16:09 GMT+02:00 Micky Khan <mcanc...@hotmail.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.

Reply via email to