Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 300abc2

Browse files
committed
minor update regarding unicode unescaping
1 parent 40991a5 commit 300abc2

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

plugins/dbms/mysql/syntax.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@ def unescape(expression, quote=True):
2222
if quote:
2323
unescaped = expression
2424
for item in re.findall(r"'[^']+'", expression, re.S):
25-
unescaped = unescaped.replace(item, "0x%s" % binascii.hexlify(item.strip("'")))
25+
try:
26+
unescaped = unescaped.replace(item, "0x%s" % binascii.hexlify(item.strip("'")))
27+
except UnicodeEncodeError:
28+
unescaped = unescaped.replace(item, "CHAR(0x%s USING utf8)" % "".join(("%.2x" % ord(_)) if ord(_) < 256 else ("%.4x" % ord(_)) for _ in item.strip("'")))
2629
else:
2730
unescaped = "0x%s" % binascii.hexlify(expression)
2831

0 commit comments

Comments
 (0)