- rozo,
Bonjour,
J'ai besoin de convertir en HTML une vingtaine de pages créées sous le notepad de windows.
J'ai écris un prog python (version 3.42) pour faire ça :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # -*- coding: utf-8 -*- # Python v3.42 def importer(add_file_name): with open(add_file_name) as file : #avec encoding='cp1252' idem buffer = "" # print("codage du fichier add : ", file.encoding) >>> cp1252 for line in file : buffer += line + '<br/>' return buffer input_file_name = "f:/html/mes_projets/test_codage.html" add_file_name = "f:/html/mes_projets/txt_accents.txt" output_file_name = "f:/html/mes_projets/test_codage_result.html" with open(input_file_name) as input_file: buffer = "" for line in input_file : if '<!--import-->' in line : buffer += importer(add_file_name) else : buffer += line with open(output_file_name, "w") as output_file : output_file.write(buffer) |
Le prog lit une page HTML de base, insère le fichier txt à l'emplacement marqué <!–import–> dans ce fichier HTML et écrit le tout dans une 2eme page html. Les deux pages html sont encodées utf-8 (vérifié sous pyCharm). Le fichier txt est encodé cp1252 selon le file.encoding de la fonction importer. Au final, la page html générée a bien les caractères accentués du html source, mais ceux du txt inséré sont remplacés par des '?'.
Je ne vois pas comment régler ce pb … (encoding="cp1252" dans open ne donne rien de plus)
html source :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <!DOCTYPE html> <html> <head lang="fr"> <meta charset="UTF-8"> <title></title> </head> <body> Texte dans la page HTML : <br/><br/> un texte à essayer : àéèùç <br/><br/> Texte importé de note-pad : <br/><br/> <!--import--> </body> </html> |
fichier txt inséré :
1 2 | texte généré sous note-pad :àéèùç et encore un peu àéèùç ... |
page html générée :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <!DOCTYPE html> <html> <head lang="fr"> <meta charset="UTF-8"> <title></title> </head> <body> Texte dans la page HTML : <br/><br/> un texte à essayer : àéèùç <br/><br/> Texte importé de note-pad : <br/><br/> texte g�n�r� sous note-pad :����� <br/> et encore un peu ����� ...<br/></body> </html> |
Une aide ?
+0
-0