Hi,
but this seems to work not for all unicode characters
like if I have "Ąžuolas"
u"Ąžuolas".encode('iso-8859-1') gives error :/
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-1:
ordinal not in range(256)
2011 m. balandis 29 d., penktadienis 06:35:40 UTC+3, Alexandre Andrade rašė:
>
> The same can be converted to a function, to make it easier:
>
> def lt(str):
> return unicode(str,'utf-8').encode('iso-8859-1')
>
>
> so just
>
> pdf.cell(50,20,lt('Helló Wórld'), 0,2,'L')
>
> 2011/4/29 Christopher Steel <[email protected] <javascript:>>
>
>>
>> This solution works well. You will need to make a minor correction and
>> remove the single quotes around 'txt' in the second line. The edited
>> version looks like this:
>>
>> txt = 'Hélló wórld'
>> utxt = unicode(txt, 'utf-8')
>> stxt = utxt.encode('iso-8859-1')
>> pdf.cell(50,20, stxt, 0, 2, 'L')
>>
>>
>> Thanks for the hint Bernardo!
>>
>> C.
>>
>>
>> ---------- Forwarded message ----------
>> From: Bernardo <[email protected]>
>> Date: Sep 25 2010, 7:35 am
>> Subject: Solved -- Problems with special characters and pyfpdf
>> To: web2py-users
>>
>>
>> Hi all,
>>
>> When usingpyfpdfwhich comes with web2py framework, there are some
>> issues withspecialcharacterssuch as accentedcharacters(á, é,
>> í, ...). After some research, I found out thatpyfpdfjust understands
>> 'iso-8859-1', and web2py gives him the strings in 'utf-8' format.
>>
>> So, as a solution, in your python code you just have to convert the
>> string before passing it topyfpdf, like this:
>>
>> txt = 'Hélló wórld'
>> utxt = unicode('txt', 'utf-8')
>> stxt = utxt.encode('iso-8859-1')
>> pdf.cell(50,20, stxt, 0, 2, 'L')
>>
>> If anyone has any doubts, just ask. I hope this can help someone...
>>
>> kind regards,
>> Bernardo
>>
>
>
>
> --
> Atenciosamente
>
>
> Alexandre Andrade
> Hipercenter.com Classificados Gratuitos
>
--
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.