UnicodeDecodeError: 'ascii' codec can't decode byte ___ in position ___: ordinal not in range(128)
When you are encountering the DAL hanging up with special characters, it is most likely caused by the pyodbc package. Even if you remove your own pyodbc package, web2py still has it’s internal version to go off of.
To disable it:
Remove pyodbc from your local environment that web2py is running in.
Remove pypyodbc.py from web2py/gluon/contrib/pypyodbc.py
When the pyDAL loads up, it will not complain, as per line 63 from web2py/gluon/packages/dal/pydal/drivers.py:
try:
import pyodbc
DRIVERS['pyodbc'] = pyodbc
#DRIVERS.append('DB2(pyodbc)')
#DRIVERS.append('Teradata(pyodbc)')
#DRIVERS.append('Ingres(pyodbc)')
except ImportError:
try:
import pypyodbc as pyodbc
DRIVERS['pyodbc'] = pyodbc
except ImportError:
pyodbc = None
(If the driver is not found, it will just label pyodbc as none)