[Python]Encodage du Rich Text

Résolu/Fermé
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 - 27 juil. 2006 à 18:40
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 - 31 juil. 2006 à 10:29
Salut tout le monde...

J'ai fait un script qui me génère un rapport de mes tâches d'outlook, mlaheureusement, dans le champ "Body" qui contient le texte même des mes tâches, on trouve de drôles de caractères: üäößµâéèëœç etc...

Et sans doute des trucs pas très pythoniques non plus puisque je fais du drag-drop de excel ou word dans mes tâches (genre au niveau des remplissages de ligne)

Bref

Quand j'essaye d'encoder ça en latin-1, python y perd le sien, je me retrouve donc à encoder ça en utf-8, ce qui me donne de jolis trucs comme:

Könntest du das so schnell wie möglich klären bitte?


à la place de

Könntest du das so schnell wie möglich klären bitte?


ou alors des suites de
                                                   



Je suis donc preneur de bonnes idées en la matière qui me permettrait d'avoir un truc un peu plus joli à l'arrivée

Merci

7 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
28 juil. 2006 à 01:30
Pour l'allemand ce ne serait pas plutôt latin-2 (iso-8859-2)?
http://alis.isoc.org/codage/iso8859/jeuxiso.htm#ISO-8859-2
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
28 juil. 2006 à 08:36
Tout d'abord merci...

mais non, toujours:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 641: ordinal not in range(128)


et ne me demande pas pourquoi il dit "ascii" :(
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
28 juil. 2006 à 10:23
Bon manifestement c'est le rich text qui plante, j'ai réussi à limiter la casse à 2 tâches avec un try/except mais j'aimerai bien que ça marche tout le temps correctement quand même.

Je pense que ça vient des retours à la ligne mais je ne sais pas comment vérifier ça simplement ni surtout comment corriger.
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
28 juil. 2006 à 10:50
Arg, nouvelle évolution, apparement c'est un type d'apostrophe simple...
Plus précisément le ’ de l'UTF8...enfin c'est ce qu'il affiche...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
28 juil. 2006 à 12:37
Arg, qu'il est con le teebo.

En fait il suffit de faire montruc.encode("latin-1","ignore")
Il me vire les apostrophes et tirets non conforme mais c'est acceptable dans l'ensemble il n'y en a pas tant que ça, et je garde même les accents les ß et autres üäö

C'est beau Python mais ça manque d'intelisense notamment pour les fonctions surchargées :)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
28 juil. 2006 à 16:02
C'est beau Python mais ça manque d'intelisense notamment pour les fonctions surchargées :)

Pourquoi?
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793 > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
28 juil. 2006 à 16:15
Ben ça m'aurait permis de voir que j'avais une surcharge qui prenait un paramètre qui pouvait être "ignore" :)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
28 juil. 2006 à 16:27
Ah ben ça ya qu'un IDE qui aurait pu te le dire tout de suite :-)

Mais en fait je crois qu'il n'y a pas de methode encode qui ne prenne qu'un paramètre. Si?
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793 > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
28 juil. 2006 à 16:30
Si :)

Et j'utilisais Pythonwin IDE

Et il ne me le disait pas...

:-P
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
28 juil. 2006 à 16:35
Ah ok, ben d'accord alors :-)
0
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
28 juil. 2006 à 12:57
99% des problèmes se situent entre le clavier et le dossier du siège ..

CQFD
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
31 juil. 2006 à 10:05
Pas tout lu, teebo, mais si ça peut aider:

https://sebsauvage.net/python/charsets_et_encoding.html
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
31 juil. 2006 à 10:29
Arf oui, ça aurait aidé puisque je ne savais pas que le encode pouvait prendre une deuxième paramètre (sauf que les caractères me prenant la tête étant des ' j'ai choisis "ignore" à la place de ton "replace").

Merci quand même :)
0