i = 0
while i < len(t1):
t3.append(t2[i])
t3.append(t1[i])
i = i + 1
Affichage :
print sys.stdout.encoding
moi = True
for i in t3:
if moi:
print i.encode(sys.stdout.encoding,‘replace’)
else:
print i
moi = not moi[/code]
Et il me plante sur le février avec :
Traceback (most recent call last):
File "./test.py", line 24, in <module>
print i.encode(sys.stdout.encoding,'replace')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128)
Donc les chaines restent en ASCII. Je l’ai fais avec la version 2.6 de l’interpréteur.
Mais si tu utilise python 3 tu peut simplement faire print(t3) et tout s’affiche comme il faut.
Apparemment, c’est assez galère toute cette histoire d’unicode, d’utf etc…
En clair, le codeur python n’utilise pas de caractères spéciaux s’il veut que son script fonctionne partout
je commence à me demander si je fais bien de me mettre à ce langage ?
désolé de la question, mais je viens de vb (appris sur le tas) alors…
[quote=“shell-boudeur”]Apparemment, c’est assez galère toute cette histoire d’unicode, d’utf etc…
je commence à me demander si je fais bien de me mettre à ce langage ?
désolé de la question, mais je viens de vb (appris sur le tas) alors… [/quote]
Python est porteur, beaucoup le choisissent (notamment pour wxpython d’après les retours que j’ai eus)
Sinon perl est aussi pas mal, as tu jeté une oeil dans ce sens ?
Mais c’est comme pour tout apprentissage je pense, les débuts sont fastidieux mais si l’on persiste ça paye !
[quote=“shell-boudeur”]Apparemment, c’est assez galère toute cette histoire d’unicode, d’utf etc…
En clair, le codeur python n’utilise pas de caractères spéciaux s’il veut que son script fonctionne partout
je commence à me demander si je fais bien de me mettre à ce langage ?
désolé de la question, mais je viens de vb (appris sur le tas) alors… [/quote]
Le python (comme le perl) peuvent avoir se genre de problème la version 3 de python (et 6 de perl) corrigent cela.
En python il y a des solutions. D’après ce que j’ai compris ce sont des modificateurs du genre u"chaine". Mais je n’ai jamais appris ce langage, il faudrait que je m’y penche plus.
quand tu fais “print t3”, python affiche le contenu de l’objet en ascii. Donc avec les codes utf-8. la fonction print n’est pas faite pour afficher “proprement” un tableau.
maintenant, remplace ton code d’affichage par :
# Affichage :
txt = "" # variable texte vide
for i in t3 :
txt += str(i) + ", " # ajout des champs du tableau à la chaine de texte, séparation des champs par une virgule
print txt # affichage de la chaine de texte