Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer fichier UTF8 sans BOM

avec python

Sujet résolu
    4 août 2010 à 17:37:04

    Salut,

    Je suis en train de faire un programme en Python qui automatise la création de fichiers PHP.
    Je veux que les fichiers créés soient en UTF8 sans BOM, j'ai donc procédé ainsi :

    import codecs
    
    obFile = codecs.open(name+'.php', "a", "utf-8" ) #ainsi que utf_8
    obFile.write('<?php\n')
    obFile.write('\n')
    obFile.write('class '+name.capitalize()+' extends AppModel {\n')
    obFile.write('\n')
    obFile.write('}\n')
    obFile.write('\n')
    obFile.write('?>')
    obFile.close()
    


    Mais en ouvrant le fichier avec Notepad++, le fichier est en ANSI.

    J'ai essayé aussi :

    obFile = codecs.open(name+'.php', "a", "utf-8-sig" )
    


    Cela me donne un fichier en UTF8 mais avec BOM et il est important de ne pas avoir de BOM pour les fichiers PHP.

    Avez-vous une idée?

    Merci à tous
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      4 août 2010 à 17:51:31

      Je suis pas sur, mais essai voir ça

      obFile = open(name+'.php', "a")
      obFile.write(codecs.BOM_UTF8)
      obFile.close()
      
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        4 août 2010 à 18:59:23

        Notepad++ ne peut pas deviner l'encodage spécifique d'un fichier si ce dernier ne contient pas des caractères spéciaux (accents et autres) !
        • Partager sur Facebook
        • Partager sur Twitter
          4 août 2010 à 19:41:10

          Citation : LeYan'tibus

          Notepad++ ne peut pas deviner l'encodage spécifique d'un fichier si ce dernier ne contient pas des caractères spéciaux (accents et autres) !


          En effet dès que l'on met un accent dans le fichier, Notepad++ reconnait bien de l'UTF8 sans BOM, mon code était bon.
          Merci
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            5 août 2010 à 0:59:41

            Je ne sais pas si ton code est juste, parceque je ne connais pas la différence entre "utf8" et "utf8 sans BOM"...
            Ton code encode le fichier en 'utf8' ça c'est sûr ! Alors peut-être que l'encodage de certain caractères accentués sont identiques dans les deux cas... :(
            • Partager sur Facebook
            • Partager sur Twitter

            Créer fichier UTF8 sans BOM

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown