因为我在查询中使用了一些阿拉伯语脚本,Python无法将阿拉伯语字符解码为ASCII,python2默认使用bytestrings(ASCII)字符串,它只支持拉丁字符。Python3默认使用Unicode字符串。在
查询:
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('رامین')
我使用format('khazامین')我从MysqlDB得到错误UnicodeEncodeError
目前没有回答
相关问题 更多 >
编程相关推荐