Utilitaires
Scripts
Divers
Jeux
Rechercher
Réflexions informatiques

Convertir des fichiers de l'Ansi vers l'UTF-8

Pour différents besoins, notamment dans le cadre de normer des sites Internet vers l'UTF-8, il est nécessaire de passer d'un encodage ISO 8859-1 vers de l'UTF-8
Voici un script Python pour effectuer une conversion d'un ensemble de fichiers de l'ANSI vers l'UTF-8. Il peut évidemment fonctionner, en l'adaptant, vers d'autres typesde conversions.

  • Il faut utiliser l'éditeur Notepad++ et installer l'extension Python Script (à l'aide du Plugin Manager).
  • Créer le fichier ANSI_vers_UTF8.py et collez le code suivant :
    import os;
    import sys;
    import time;
    filePathSrc="G:\\Site Internet\\Mon site"
    for root, dirs, files in os.walk(filePathSrc):
        for fn in files:
            if fn[-4:] == '.php' or fn[-3:] == '.js' or fn[-4:] == '.htm' or fn[-5:] == '.html' or fn[-4:] == '.css' or fn[-4:] == '.txt':
                console.write('-> Ouverture ' + root + "" + fn)
                notepad.open(root + "" + fn)
    import sys;
    import time;
    filePathSrc="G:\\Site Internet\\Mon site"
    for root, dirs, files in os.walk(filePathSrc):
        for fn in files:
            if fn[-4:] == '.php' or fn[-3:] == '.js' or fn[-4:] == '.htm' or fn[-5:] == '.html' or fn[-4:] == '.css' or fn[-4:] == '.txt':
                console.write('-> Ouverture ' + root + "" + fn)
                notepad.open(root + "" + fn)
                encoding=str(notepad.getEncoding())
                if encoding != 'COOKIE':
                    # COOKIE : UTF without BOM
                    # ENC8BIT : ANSI
                    console.write(' -> Conversion UTF-8 depuis ' + encoding)
                    if notepad.runMenuCommand("Encodage", "Convertir en UTF-8 (sans BOM)")== True:
                        notepad.save()
                        console.write(" -> OK")
                    else:
                        console.write(" -> KO")
                else:
                    console.write(" -> OK")
                notepad.close()

                encoding=str(notepad.getEncoding())
                if encoding != 'COOKIE':
                    # COOKIE : UTF without BOM
                    # ENC8BIT : ANSI
                    console.write(' -> Conversion UTF-8 depuis ' + encoding)
                    if notepad.runMenuCommand("Encodage", "Convertir en UTF-8 (sans BOM)")== True:
                        notepad.save()
                        console.write(" -> OK")
                    else:
                        console.write(" -> KO !!")
                else:
                    console.write(" -> OK")
          notepad.close()
  • Remplacer la ligne avec la variable filePathSrc par le chemin des fichiers à convertir
  • Enregistrez le fichier dans le répertoire du logiciel plugins\Config\PythonScript\scripts
  • Sur Notepad++, pour exécuter le script, allez dans le menu Compléments/Python Script/Scripts et sélectionnez le fichier créé

Notepad++ va alors ouvrir les uns après les autres les fichiers du répertoire et des sous-répertoires et convertir en UTF-8.
07/01/2015

Rechercher sur le site

Informations sur le site