python - 清理 UTF-8 编码的字符串

标签 python mysql sanitization

我想在将 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/

相关文章:

python - 如果任何列值不遵守 pandas 中的条件,则删除行

MySQL 日期差异

mysql - 什么会导致此 SQL 插入运行速度非常慢?

android - 清理 Intent 文件 URI

php - 如何在复选框组上使用filter_input?

python - python中是否存在 "Find-Replace whole word only"?

python - 在 Python 中将曲线拟合到数据集

php - 与号 (&) 处的 XML 错误

Javascript - 正则表达式/替换优化

python - 在python中使用正则表达式提取冒号或括号之前的字符串