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
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,
es por un plugin que aumenta el SEO , por eso se ve el link en el trozo de codigo….
gracias por avisar 😀
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.
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
Gracias. Me ha servido para solucionar un problema que tenía.
gracias a ti por visitar la web aizkor