[Sqlalchemy-tickets] Issue #3659: 'ascii' codec can't decode byte 0xdb in position 942: ordinal not
Brought to you by:
zzzeek
From: Ramin F. C. <iss...@bi...> - 2016-02-21 07:38:31
|
New issue 3659: 'ascii' codec can't decode byte 0xdb in position 942: ordinal not in range(128) SQLAlchemy https://bitbucket.org/zzzeek/sqlalchemy/issues/3659/ascii-codec-cant-decode-byte-0xdb-in Ramin Farajpour Cami: I use some Arabic script in my query and Python can't decode Arabic characters to ASCII and Python 2 uses bytestrings (ASCII) strings by default, which support only Latin characters. Python 3 uses Unicode strings by default. query : ``` #!python query = """SELECT * FROM ( SELECT p.ID AS 'persons_ID', p.FirstName AS 'persons_FirstName', p.LastName AS 'persons_LastName', p.NationalCode AS 'persons_NationalCode', p.CityID AS 'persons_CityID', p.Mobile AS 'persons_Mobile', p.Address AS 'persons_Address', cities_1.ID AS 'cities_1_ID', cities_1.Name AS 'cities_1_Name', cities_1.ParentID AS 'cities_1_ParentID', cities_2.ID AS 'cities_2_ID', cities_2.Name AS 'cities_2_Name', cities_2.ParentID AS 'cities_2_ParentID' , cast(@row := @row + 1 as unsigned) as 'persons_row_number' FROM Persons p LEFT OUTER JOIN cities AS cities_2 ON cities_2.ID = p.CityID LEFT OUTER JOIN cities AS cities_1 ON cities_1.ID = cities_2.ParentID , ( select @row := 0) as init WHERE 1=1 AND p.FirstName LIKE N'{}%'""".format('رامین') ``` i use format('رامین') i get error UnicodeEncodeError from MysqlDB, Responsible: zzzeek |