Script python et affichage des accents dans une console DOS [Résolu]

Pulsar - 27 juin 2017 à 17:33 - Dernière réponse : mamiemando 28119 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 13 janvier 2018 Dernière intervention
- 5 juil. 2017 à 09:50
Bonjour,

J'essaye simplement de récupérer le contenu d'un fichier texte avec un script python et de l'afficher dans une console ms-dos.

Sauf que les accents ne passent pas du tout. L'encodage du fichier texte est en utf-8, la console possède un encodage en cp1252. Du coup je convertis dans un premier temps le contenu du fichier en unicode puis je l'encode en cp1252, mais ça ne marche pas mieux

Ci-dessous le code :
# -*- coding:Utf-8 -*-

var = ''
with open(dir+'fichier.txt', 'r') as f: var = f.read()
var = unicode(var, 'Utf-8').encode('cp1252')
print var

Par contre si je remplace cp1252 par le cp850 ça m'affiche effectivement ce que je veux MAIS dans mon fichier texte il arrive parfois qu'il y ait des caractères qui n'existent justement pas dans l'encodage cp850, la console m'affichera alors une erreur
Afficher la suite 

3 réponses

Répondre au sujet
mamiemando 28119 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 13 janvier 2018 Dernière intervention - 28 juin 2017 à 10:09
0
Utile
Bonjour,

Je n'ai jamais fait de python sous windows, mais as-tu essayé d'afficher directement la chaîne unicode comme suggéré ici ?
https://stackoverflow.com/questions/15200990/print-utf-8-characters-in-cmd-using-python

Bonne chance
Commenter la réponse de mamiemando
0
Utile
Bonjour,

Bon j'ai finalement trouvé. J'ai enregistré le contenu du fichier texte sous l'encodage cp1252 et ensuite quand mon script récupère le fichier, je le décode en cp1252 pour l'encoder en cp850.

C'est tordu comme solution, mais les accents s'affichent bel et bien après ce tour de passe passe

Merci quand même de ton aide mamiemando
Commenter la réponse de Pulsar
mamiemando 28119 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 13 janvier 2018 Dernière intervention - 5 juil. 2017 à 09:50
0
Utile
Merci pour ton retour, mais la solution que je proposais ne marchait pas ? Si tu as la possibilité de reporter un code minimal qui montre ta solution, ça pourrait sans doute aider les gens qui tombe sur ce fil de discussion !
Commenter la réponse de mamiemando