Parfois, le serveur d’hébergement se trouve en UTF-8 mais malgré les avertissements aux développeurs, on se retrouve avec des fichiers ANSI comme la plupart des éditeur de texte sous Windows. (Je parle même pas des \r inutiles).
Connaître l’encodage du fichier
file --mime-encoding MONFICHIER.php
Sans cette option –mime-encoding, file vous dirai juste qu’il s’agit d’une code php…
Conversion du fichier
Exemple de l’ansi à l’UTF8
iconv -f WINDOWS-1252 -t UTF-8 MONFICHIER_ansi.php > MONFICHIER_utf8.php
Ou de l’UTF-8 à l’iso8859-15
iconv -f UTF-8 -t ISO_8859-15 MONFICHIER_utf8.php > MONFICHIER_iso.php
Encodages supportés
iconv -l vous donnera la liste des encodages supportés. Les plus importants à retenir sont :
- WINDOWS-1252 (Parfois appelé CP-1252, ANSI ou latin-1, c’est un dérivé de ISO_8859-1 qui ressemble beaucoup ISO_8859-15)
- UTF-8 (universel et compatible ASCII)
- ISO_8859-1 (Ou latin-1 lui aussi, il lui manque les symbole euro qui est ¤)
- ISO_8859-15 (Ou latin-9)
- ASCII (lol)
- Le code morse ne fait pas parti des encodages supportés
#1 par ®om à 20 septembre 2012 - 5 h 47 min
Citation
Je te conseille d’éviter d’utiliser le même fichier en entrée et en sortie (MONFICHIER.php), tu risques d’avoir des surprises 😉
#2 par Fanch à 20 septembre 2012 - 17 h 48 min
Citation
Exact, c’est corrigé.
Cela ne peux pas fonctionner si on lit et écrit le même fichier, il faut utiliser un fichier tampon. Merci pour cette remarque.