Lors d’une migration d’application vers le format UTF-8 (je rappel qu’il est mieux de commencer directement en UTF-8), il est parfois nécessaire de convertir des fichiers au format UTF-8. Pour cela, sous linux, il existe la commande iconv. Voici un exemple d’utilisation de cette fonction pour convertir un fichier initialement en ISO-8859-1 vers UTF-8 :
view source print?1.
iconv -f ISO-8859-1 -t UTF-8 nom_du_fichier_source -o fichier_encode
On peut également mettre en place un traitement plus générique sur tous les fichiers d’une arborescence. Voici un script SH qui permet de traiter plusieurs fichiers dont l’extension est spécifiée (à enregistrer dans un fichier utf8encode.sh par exemple) :
01.
# encodage de depart
02.
encodeFrom='ISO-8859-1'
03.
04.
# encodage voulu
05.
encodeTo='UTF-8'
06.
07.
# application du script sur les fichiers *.php
08.
for
filename
in
`
find
. -
type
f -name *.php`
09.
10.
do
11.
# sauvegarde du fichier source
12.
mv
$filename $filename.save
13.
14.
# ecriture du fichier encode
15.
iconv -f $encodeFrom -t $encodeTo $filename.save -o $filename
16.
done