Hi Silvan,

since I've also to handle "dschörmän" Umlauts, I've put a converstion in 
the following procedure:


















*import cgiimport sys# 
-------------------------------------------------------------------------# 
convert_special_chars(label)## Converts string to be compatible to UTF-8# 
and to HTML (e.g. ä to ä)## parameter: label as string# 
-------------------------------------------------------------------------def 
convert_special_chars(label):    if sys.version_info[0] == 2: # is Python 
2.x        label = label.decode('utf-8')    label = cgi.escape(label)    
label = label.encode('ascii', 'xmlcharrefreplace')    return label*

Have a try, hope it helps!

Best regards
Clemens



On Friday, February 28, 2020 at 10:15:04 AM UTC+1, Silvan Marco Fin wrote:
>
> Hi!
> I have a problem with pdf output running in python3 environment. The 
> problem I'm trying to solve is more complex, but I managed to strip it down 
> to a very small example. If I get this running, I'm sure to manage in my 
> actual situation.
>
> I created a new application with a controller like this:
>
> # -*- coding: utf-8 -*-
>
> def index():
>     return dict(
>         data=UL(
>             A('Output html', _href=URL(print, extension='html')),
>             A('Output pdf', _href=URL(print, extension='pdf'))
>         ),
>         message="hello from tiatpi.py")
>
> def print():
>     return dict(content='Data with "dschörmän" Umlauts')
>
> Pressing the first link I get presented with expected web page.
> Pressing on the second link I receive an Internal error:
>
> 1.
> 2.
> 3.
> 4.
> 5.
> 6.
> 7.
> 8.
> 9.
> 10.
> 11.
>
> Traceback (most recent call last):
>   File "/mnt/c/Users/Silvan Marco 
> Fin/Desktop/Working/web2py/gluon/restricted.py", line 219, in restricted
>     exec(ccode, environment)
>   File "/mnt/c/Users/Silvan Marco 
> Fin/Desktop/Working/web2py/applications/pdf_test/views/generic.pdf", line 9, 
> in <module>
>     pass
>   File "/mnt/c/Users/Silvan Marco 
> Fin/Desktop/Working/web2py/gluon/globals.py", line 434, in write
>     self.body.write(to_native(xmlescape(data)))
>   File "/mnt/c/Users/Silvan Marco 
> Fin/Desktop/Working/web2py/gluon/packages/dal/pydal/_compat.py", line 136, in 
> to_native
>     return obj.decode(charset, errors)
> UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 10: 
> invalid continuation byte
>
>
> Bevore assembling this small snippet I experimented with the whole 
> situation for some time now and I never produced anything else than 
> exceptions, most of them some form of DecordeErorr or EncodingError, so I 
> assume, there is something wrong with either fpdf or the XML() helper.
> I would greatly appreciate any help on this!
>
> Kind regards,
> Silvan
>
> Additional Information:
> Environment: 
> I'm running an ubuntu in Windows 10 pro 1909 WSL:
> silvan@Nepumuk:~$ lsb_release -a
> No LSB modules are available.
> Distributor ID: Ubuntu
> Description:    Ubuntu 18.04.4 LTS
> Release:        18.04
> Codename:       bionic
>
> and from web21py admin pages: 2.18.5-stable+timestamp.2019.04.08.04.22.03
> (läuft auf Rocket 1.2.6, Python 3.6.9)
>
> But the problem shows up on native Ubuntu Linux as well.
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/eeb0c3a9-e888-4ce9-a322-194a06510130%40googlegroups.com.

Reply via email to