Cambiar la codificación de archivos de ISO-8859-1 a UTF-8

Hace un rato he tenido que cambiar la codificación de un buen número de programas de un cliente que tenía hechos en PHP con codificación ISO-8859-1 a codificación UTF-8. En entornos Linux se dispone de un comando muy útil para estas tareas, iconv.

El siguiente ejemplo muestra cómo cambiar la codificación del archivo oldfile.htm de ISO-8859-1 a UTF-8, dejando el archivo resultante con el nombre newfile.html.

iconv --from-code=ISO-8859-1 --to-code=UTF-8 ./oldfile.htm > ./newfile.html

Si lo que necesitamos es cambiar la codificación de varios archivos sustituyendo los archivos originales, podemos utilizar la instrucción for de Bash

for i in *.php; do iconv --from-code=ISO-8859-1 --to-code=UTF-8 $i -o $i.utf8; mv $i.utf8 $i; done


9 respuestas a «Cambiar la codificación de archivos de ISO-8859-1 a UTF-8»

  1. Pingback: Bitacoras.com
  2. Cual es la explicación para cascar enlaces a blogofsysadmin en los ficheros convertidos, en el caso del ejemplo usando el «for» de Bash??
    Triquiñuela para aumentar visitas y SEO? Dios, espero que no, y actualices el post ASAP.

    Un saludo,

  3. Esta muy bien la explicación final del uso del for. Sin embargo, la mayoría de las veces, cuando tienes que convertir una gran cantidad de archivos codificados en ISO a UTF , los campos META del HEAD de los HTML suelen contener información que avisa de que la codificación utilizada es ISO. Sería interesante que añadieras información sobre como cambiar esto automáticamente, pues en caso contrario un usuario podría no convertir la codificación de su site adecuadamente.

  4. ya pero una cosa es la codificación del archivo y otra muy distinta los campos meta del head de los archivos html…. esos campos indican al navegador y a los robots que idioma y que codificacion tiene esa pagina…. haz la prueba y veras que si codificas el archivo html en ISO y le pones los meta como utf las eñes y los acentos no se veran bien

Responder a GhOsTi Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.