je viens d'avoir renversé après notre serveur a été mis à jour depuis Debian 4 à 5. Nous sommes passés à l'environnement UTF-8 et maintenant, nous avons des problèmes pour obtenir le texte s'imprime correctement sur le navigateur, car tous les fichiers sont dans le non-utf8 encodages iso-8859-1, ascii, etc.
J'ai essayé beaucoup de différents scripts.
Le premier que j'ai essayé est "iconv". Que l'un ne marche pas, il change le contenu, mais les fichiers enconding est toujours non-utf8.
Même problème avec frca, encamv, convmv et quelques autres outils que j'ai installé via apt-get.
Ensuite, j'ai trouvé un code python qui utilise chardet Universelle module Détecteur pour détecter l'encodage d'un fichier (qui fonctionne très bien), mais l'utilisation de l'unicode classe ou le codec de classe pour les enregistrer en utf-8 ne marche pas, sans erreurs.
Le seul moyen que j'ai trouvé pour obtenir le fichier et son contenu converti en UTF-8, vi.
Ce sont les étapes que j'ai faites pour un seul fichier:
vi filename.php
:set bomb
:set fileencoding=utf-8
:wq
Thats it. Que l'on fonctionne parfaitement. Mais comment pouvez obtenir ce à l'aide d'un script. Je voudrais écrire un script (shell linux) qui parcourt un répertoire de prendre tous les fichiers php, puis de les convertir à l'aide de vi, avec les commandes ci-dessus. Comme j'ai besoin de lancer le vi de l'app, je ne sais pas comment faire quelque chose comme ceci:
"vi --run-command=':set bomb, :set fileencoding=utf-8' filename.php"
J'espère que quelqu'un pourra m'aider.