In general the best choice is psycopg2 however, the issue with pg8000 has been fixed I've written an initial basic unittest https://github.com/web2py/pydal/blob/master/tests/base.py#L72 to check possible issues with unicode
Paolo 2015-06-18 19:47 GMT+02:00 Antonio Salazar <asalaza...@gmail.com>: > Is it still recommended to use psycopg2 instead of pg8000 after this fix? > > El lunes, 15 de junio de 2015, 5:28:09 (UTC-5), Paolo Valleri escribió: > >> According to my tests, the current PG adapter works only with psycopg2 >> and python2.7 >> It is broken with both pg8000 and psycopg2 on python 3.x >> >> A possible fix for pg8000 and python2.7 is here >> https://github.com/ilvalle/pydal/commit/d5450938ae606a3e85deffa831899a35146f5e64 >> >> I've posted an issue for psycopg2 with python3.x here >> https://github.com/psycopg/psycopg2/issues/331#issuecomment-111909256 >> >> Paolo >> >> On Saturday, June 13, 2015 at 5:22:07 AM UTC+2, Massimo Di Pierro wrote: >>> >>> It is a bug in pg8000. You need to install psycopg2 >>> >>> On Friday, 12 June 2015 13:51:55 UTC-5, Antonio Salazar wrote: >>>> >>>> I have the same problem. PostgreSQL database, web2py >>>> 2.11.2-stable+timestamp.2015.05.30.16.33.24 >>>> source install. >>>> >>>> Now any field update which has non-ASCII characters fails with "<type >>>> 'exceptions.UnicodeDecodeError'> 'ascii' codec can't decode byte 0xc3 in >>>> position X: ordinal not in range(128)" >>>> By any field update, I mean custom forms, form grids, and even database >>>> administration. >>>> >>>> This is the traceback after failing to change a user's name to "José" >>>> with database administration: >>>> >>>> Traceback (most recent call last): >>>> File "S:\Extranet\Website\Fuentes\web2py\gluon\restricted.py", line 227, >>>> in restricted >>>> exec ccode in environment >>>> File >>>> "S:/Extranet/Website/Fuentes/web2py/applications/extranet/controllers/appadmin.py" >>>> <http://127.0.0.1:8000/admin/edit/extranet/controllers/appadmin.py>, line >>>> 704, in <module> >>>> File "S:\Extranet\Website\Fuentes\web2py\gluon\globals.py", line 412, in >>>> <lambda> >>>> self._caller = lambda f: f() >>>> File >>>> "S:/Extranet/Website/Fuentes/web2py/applications/extranet/controllers/appadmin.py" >>>> <http://127.0.0.1:8000/admin/edit/extranet/controllers/appadmin.py>, line >>>> 343, in update >>>> if form.accepts(request.vars, session): >>>> File "S:\Extranet\Website\Fuentes\web2py\gluon\sqlhtml.py", line 1686, >>>> in accepts >>>> self.id_field_name]).update(**fields) >>>> File >>>> "S:\Extranet\Website\Fuentes\web2py\gluon\packages\dal\pydal\objects.py", >>>> line 2020, in update >>>> ret = db._adapter.update("%s" % table._tablename,self.query,fields) >>>> File >>>> "S:\Extranet\Website\Fuentes\web2py\gluon\packages\dal\pydal\adapters\base.py", >>>> line 996, in update >>>> raise e >>>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 57: >>>> ordinal not in range(128) >>>> >>>> >>>> I don't recall having this problem with pre 2.10 versions >>>> >>> -- > 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 a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/AE6NVmLPCwk/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.