Je pense que iconv est votre réponse...
Formulaire homme 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.
.....
Vous pourriez donc probablement faire un
find $my_base_dir -name "*.php" -o -name "*.html" -exec sh -c "( \
iconv -t ISO88592 -f UTF8 {} -o {}.iconv ; \
mv {}.iconv {} ; \
)" \;
Cela trouvera de manière récursive les fichiers nommés de manière appropriée et les réencodera (le fichier temporaire est nécessaire, car iconv tronquera la sortie avant de commencer à travailler).
Ubuntu a recodé
$ sudo apt-get install recode
$ recode UTF-8..latin1 *.php
Récursivement, grâce à Ted Dziuba :
$ find . -name "*.php" -exec recode UTF-8..latin1 {} \;