我想在将 UTF-8 编码的字符串用作 MySQL SELECT 语句的一部分之前对其进行清理。
例如,我有:
query = MySQLdb.escape_string(query)
但是这一行导致了一个异常,它是
'ascii' codec can't encode characters in position 0-2: ordinal not in range(128).
我该如何处理?
最佳答案
看起来 MySQLdb 正在尝试将您的 unicode 查询编码为字符串。为此,它使用默认编码:ASCII。
现在,你的输入不能被编码成 ASCII,所以你只需要告诉 python 它应该使用什么编码:utf-8。
您可以使用 query = query.encode('utf-8').
关于python - 清理 UTF-8 编码的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8625475/