encoding de un archivo

94 views
Skip to first unread message

Camilo Uribe

unread,
Apr 11, 2006, 3:18:25 PM4/11/06
to sl-...@googlegroups.com
Me gustaria revisar si el parametro que indica el encoding de un
archivo xml si es el adecuado.

Como puedo saber que encoding tiene(realmente) ese archivo?

--
http://www.el-directorio.org
El sitio de linux y el Software Libre en Colombia

Andres Pinzon

unread,
Apr 11, 2006, 4:29:06 PM4/11/06
to sl-...@googlegroups.com
On 4/11/06, Camilo Uribe <camilo...@gmail.com> wrote:
>
> Me gustaria revisar si el parametro que indica el encoding de un
> archivo xml si es el adecuado.
>
> Como puedo saber que encoding tiene(realmente) ese archivo?
Camilo chequeate :

recode, o sino iconv

Espero te sirva.

--
---------
Andrés Pinzón [http://www.andrespinzon.com]
Bioinformatics Center, Colombia EMBnet node
Biotechnology Institute - National University of Colombia
http://bioinf.ibun.unal.edu.co
Tel +57 3165000 ext 16961 Fax +571 3165415
----------

Óscar López

unread,
Apr 12, 2006, 2:24:53 AM4/12/06
to sl-prog
Las reglas de codificación de documentos XML son claras: si el
encoding de un documento no está especificado explícitamente,
entonces por defecto es UTF-8 o UTF-16. Ahora bien, para el caso
general no existe un algoritmo que pueda detectar todos los posibles
tipos de encoding, es por esto que el autor de un documento debe
declarar en éste el encoding que utiliza, si no es el encoding por
defecto.

Una posible heurística para resolver este problema, sería utilizando
el comando iconv -tal como lo sugiere Andrés-. Sería ejecutar algo
como:

---

#!/bin/sh

encoding="UTF-8"
file="mi-archivo.xml"

if iconv -f $encoding -t $encoding < $file &> /dev/null
then
echo "el encoding de $file es $encoding"
else
echo "el encoding de $file no es $encoding, pruebe con otro encoding"
fi

---

En "encoding" pondríamos el encoding que sospechamos que tiene nuestro
"archivo", la idea es tratar de convertir un archivo con un encoding a
otro archivo con el mismo encoding; si la operación tiene éxito, la
conversión se realiza sin problemas. Si falla, es señal de que el
encoding que asumimos es incorrecto y debemos probar con otro. Posibles
valores para "encoding" incluyen "UTF-8" , "UTF-16", "ISO-8859-1" ,
"ISO-8859-2", etc.

Reply all
Reply to author
Forward
0 new messages