jgbalb escreveu:
preciso gerar caracteres fora da faixa (0..128) usando a função chr do python para uma página em Zope/Plone. Porém quando tento usar chr (198) - que é o caractere 'ã' - obtenho um caractere diferente na página do Zope/Plone. Como faço para resolver este problema?


PS1: já tentei .decode('iso-8859-1').encode('utf-8') mas não resolveu.
Tem certeza que é iso-8859-1 (latin-1)?

>>> print ord(u'a-'.encode('latin-1'))
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'latin-1' codec can't encode character u'\u0101' in position 0: ordinal not in range(256)

[

oooops, to precisando de lentes novas no óculos, era um til, não um traço... mesmo assim:

>>> ord(u'ã'.encode('latin-1'))
227

]

Acho que 198 deve ser no encoding do windows (que não lembro qual é).

Sugiro fazer algo como:

char = unicode(r'\x%02x' % numeroDoCaracter, 'encodingCerto')

[]'s

Daniel

Responder a