Creo que iconv es tu respuesta...
Formulario hombre iconv:
NAME
iconv - Convert encoding of given files from one encoding to another
SYNOPSIS
iconv -f encoding -t encoding inputfile
DESCRIPTION
The iconv program converts the encoding of characters in inputfile from one coded
character set to another. The result is written to standard output unless otherwise
specified by the --output option.
.....
Así que probablemente podrías hacer un
find $my_base_dir -name "*.php" -o -name "*.html" -exec sh -c "( \
iconv -t ISO88592 -f UTF8 {} -o {}.iconv ; \
mv {}.iconv {} ; \
)" \;
Esto buscará recursivamente los archivos con el nombre apropiado y los volverá a codificar (el archivo temporal es necesario, ya que iconv truncará la salida antes de comenzar a trabajar).
Ubuntu ha recodificado
$ sudo apt-get install recode
$ recode UTF-8..latin1 *.php
De forma recursiva, gracias a Ted Dziuba:
$ find . -name "*.php" -exec recode UTF-8..latin1 {} \;