Bonjour,

J'ai un bogue avec mon module Python sous Windows, j'ouvre un fichier text avec des accents, je mets le string dans une variable et j'ouvre le client email par défaut de mes utilisateurs avec le corps du message.

Sur mon poste tout fonctionne bien mais pas sous le poste des mes clients (Windows) également, voici mon code:

Je récupère mon fichier text:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
# Get e-mail body file
        email_body = open('config/email_body.txt').read().encode('cp1252')
Puis j'ouvre l'email du client avec le body text et les fichiers attachés:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
            # Open default e-mail client, prepare e-mail
            Popen(            
                obj_config['mail_section']['email_client_exe'].encode('cp1252') + 
                " -compose " \
                "to='" + obj_config['mail_section']['email_to'] + "'," \
                "cc='" + obj_config['mail_section']['email_cc'] + "'," \
                "subject='" + obj_config['mail_section']['email_subject'] + "'," \
                "attachment='" + ','.join(files_list) + "'," \
                "body='" + email_body + "'", stdout=PIPE, stderr=PIPE
Moi tout fonctionne bien mais les autres postes voici l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
ERROR: Traceback (most recent call last):
  File "C:\make_thon_rouge_report\make_thon_rouge_report.py", line 151, in send_com_department_report
    email_body = open('config/email_body.txt').read().encode('cp1252')
  File "C:\Python25\lib\encodings\cp1252.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_table)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 40: ordinal not in range(128)
Note: je redirige la console dans sys.stdout et j'ai aussi tous mes "print" dans un fichier de log en plus...

Une idée sur le standard pour faire ce que je souhaite?
Merci,