Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



domingo, 17 de febrero de 2019

Truco: Como cambiar la codificación de caracteres de windows a linux: ISO-8859-1 a UTF-8


Truco:

 Como cambiar la codificación de caracteres de windows a linux: ISO-8859-1 a UTF-8


Origen del problema:
Me descargué un archivo en formato txt de la web, y cuando lo fui a abrir desde libreoffice writer, me aparecían caracteres raros donde debían de ir caracteres acentuados:


¿que ha pasado? ¿por qué ocurre este problema?
Es problema es la codificación ASCII del juego de caracteres que usa Windows (la ISO-8859-1) que es diferente a la usa Linux (la UTF-8).

Nota: ¿como se que juego de caracteres tiene el archivo?
Con el comando file -i nombre_archivo.txt, nos informa del juego de caracteres que usa el fichero:



Varias Soluciones del problema

Solución 1:

He encontrado el comando iconv que realiza la conversión de los archivos codificados de un juego de caracterea a otro. Este sería la forma de convertir un archivo procedente de windows a linux:

iconv -f ISO-8859-1 -t UTF-8 archivo_original.txt > archivo_convertido.txt

fuente:
https://desarrolloweb.com/articulos/convertir-masa-archivos-utf8.html


Solución 2:
Os comento esta, porque fue la primera que encontré y además es muy "visual", y no necesita usar ningún comando. Se trata de abrir el archivo con sublime text, (este programa detecta el juego de caracteres y los muestra correctamente en linux), y luego procedemos a "copiar y pegar" el contenido del archivo en otro programa (por ejemplo en libreoffice) y ya lo tenemos convertido.


Saludos