This is not strictly a web2py issue. Though it is a problem that apps dealing with some character sets must deal with. I confess that the source of my problem is that I have been delaying reading-up on encoding and decoding far too long. But I'm pressed for time and I'm sure that this is a simple issue to many of you.
Here's is it (slightly embarrassed): It works if I hardcode a string in a script helper: SCRIPT(" ... jQuery.prettyPhoto.open(images=%(images)s,titles=['olá', 'olé']);})" % dict(...images=images), _language='javascript') It also works if (getting titles from the db, where it is stored as "'olá','olé'" - note single quotes included): SCRIPT(" ... jQuery.prettyPhoto.open(images=%(images)s,titles=[%(titles)]);})" % dict(images=images, titles=titles), _language='javascript') However, if I try to parse from the db (where titles is stored as "olá|olé", such as: titles = [title.strip() for title in titles.split('|')] The jQuery string is adequately adjusted to receive a list: SCRIPT(" ... jQuery.prettyPhoto.open(images=%(images)s,titles=%(titles));})" % dict(images=images, titles=titles), _language='javascript') All works but when rendered by the browser I do not get: Olá instead I get: olá The same for Olé and olé My goal is to have a user supplied string, such as: olá|olé BTW this is a prettyPhoto widget I developed for plugin_wiki, which is awesome :-) Txs for the help, Miguel