From edcd02f6580a753a103c1cdbd1ccde99906319c9 Mon Sep 17 00:00:00 2001 From: Alexey Malyshev Date: Mon, 25 Feb 2013 12:07:00 +0400 Subject: Unicode-escape for binary data (sqlparse/lexer.py) fix "UnicodeDecodeError: 'utf8' codec can't decode byte 0xfd in position 71: invalid start byte" when query contains binary data --- sqlparse/lexer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'sqlparse') diff --git a/sqlparse/lexer.py b/sqlparse/lexer.py index 4cec0db..e769d7b 100644 --- a/sqlparse/lexer.py +++ b/sqlparse/lexer.py @@ -233,7 +233,10 @@ class Lexer(object): except UnicodeDecodeError: text = text.decode('latin1') else: - text = text.decode(self.encoding) + try: + text = text.decode(self.encoding) + except UnicodeDecodeError: + text = text.decode('unicode-escape') if self.tabsize > 0: text = text.expandtabs(self.tabsize) -- cgit v1.2.1