Re: ¿Codificacion con archivo de texto en binary mediante un script?
El Thu, 08 Oct 2015 17:10:28 -0500, Debia Linux escribió:
> Quiero comentarles que tengo un formulacio sencillo en un script que a
> su vez genera un archivo de texto.
>
> Algo asi como
>
> echo "Escribe una frase"
> read frase
>
> echo "$frase" > texto.txt
>
> Pero cuando quiero ver la codificacion del texto (que deberia ser utf-8
> me arroja el siguiente mensaje
>
> file --mime-encoding texto.txt texto.txt: binary
(...)
Puedes intentar con "file -d" por si vieras algún carácter o terminación
de línea extraña pero algo relacionado con esto hablamos en la lista no
hace mucho. Parece que las utilidades base (file, grep...) están
poniéndose pejigueras con la codificación de los archivos y las
detecciones que hacen no siempre andan finas.
En primer lugar, habría que analizar cómo se genera ese archivo de texto
ya que, p. ej., si se ejecuta desde una consola la codificación debe ser
la que tengas definida como variable de entorno y la que tengas en la
consola desde donde ejecutas el script.
Si el usuario puede copiar/pegar texto en la terminal, ese texto puede
venir de distintas fuentes (página web, e-mail...) que también puede
contener una codificación determinada y entrar en conflicto con la de la
consola por lo que lo ideal sería que sanearas la entrada de datos antes
de almacenar la variable, es decir, forzar el uso de un tipo de
codificación como UTF-8 o impedir el uso de ciertos caracteres (sólo A-Z
y números).
> ¿Alguna idea de lo que puede estar pasando o como puedo corregir este
> archivo que es de texto y que el comando file me dice que es binario?.
No hagas caso de lo que diga "file", no siempre acierta. Si te muestra
caracteres raros tendrás que convertir el archivo con iconv (de iso-8859/
ascii a utf-8 o viceversa).
Saludos,
--
Camaleón
Reply to: