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 <estem...@gmail.com>
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:
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-1: ordinal not in range(256)
Hi,but this seems to work not for all unicode characterslike 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)I also posted on hosting forum looking for TTF solution
2011 m. balandis 29 d., penktadienis 06:35:40 UTC+3, Alexandre Andrade rašė:
ok, SOLVED ttf issue for unicode example http://code.google.com/p/pyfpdf/wiki/Unicodejust needed to create directory gluon > contrib > fpdf > fontand place needed ttf files insited it :)then pdf.write(8, u"Ąžuolas") works fine
File "/home/jurgis/web2py/applications/apskaitele/controllers/default.py", line 61, in pdftest
pdf.write_html(u"<font face='DejaVu'>Ąžuolas</font>"
)
File "/home/jurgis/web2py/gluon/contrib/fpdf/html.py", line 397, in write_html
File "/usr/local/lib/python2.7/HTMLParser.py", line 114, in feed
self.goahead(0)
File "/usr/local/lib/python2.7/HTMLParser.py", line 152, in goahead
if i < j: self.handle_data(rawdata[i:j])
File "/home/jurgis/web2py/gluon/contrib/fpdf/html.py", line 122, in handle_data
File "/home/jurgis/web2py/gluon/contrib/fpdf/fpdf.py", line 822, in write
txt = self.normalize_text(txt)
File "/home/jurgis/web2py/gluon/contrib/fpdf/fpdf.py", line 1012, in normalize_text
txt = txt.encode('latin1')
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-1: ordinal not in range(256
)
and if I
pdf.write_html(u"<font face='DejaVu'>Ąžuolas</font>".encode('utf8'))
I get Ä„Å3⁄4uolas
--
---
You received this message because you are subscribed to a topic in the Google Groups "web2py-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/web2py/KJDeQoLKw-M/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to web2py+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

