python - 俄语中的postgresql psycopg2搜索不起作用
问题描述
在 DB 中有这样的值:
C:\555\Новый текстовый документ.txt
在 python 瓶脚本中有一个语句:
cursor.execute("""select * from main where filename ilike '%%' || %s || '%%' escape ''""", (filename,))
如果我按文件扩展名搜索或只是编号,则可以。但如果我用俄语字母搜索。它什么也没显示。
PS 我在 ru_RU.UTF8 集合中创建数据库并conn.set_client_encoding('UTF8')
在脚本中有。我做错了什么?谢谢你!
更新1:这是一个代码。我还在Adminer、PyAdmin 和psql 中进行了测试。在他们中,这个查询是可以的。但不在代码中:(
@post('/search')
def search():
username = request.forms.get('user')
filename = request.forms.get('file')
time = request.forms.get('time')
server = request.forms.get('server')
if filename:
cursor.execute("""select * from main where filename ilike '%%' || %s || '%%' escape ''""", (filename,))
return template('index', cursor2=cursor)
cursor.close()
conn.close()
解决方案
正确的答案是将代码更改为(而不是 filename = request.forms.get):
username = request.forms.user
filename = request.forms.file
time = request.forms.time
server = request.forms.server
推荐阅读
- python - 我需要从 PDF 文件中提取文本并制作一个新的 .txt 文件以放入
- python - 错误 1053:“服务未及时响应”
- visual-studio - “解析应用程序包时出错。” 从 Web (MSIX) 打开 Windows 10 .appinstaller 文件时
- swift - 如何在桌子上创建两个不同的部分?
- reactjs - Redux 商店,“属性 XX 不存在”
- asp.net - 如何获得在 ashx 文件中编写不安全代码的权限?
- javascript - 单选按钮的 disabled 属性在反应式表单中不起作用
- python - 如何从 np.genfromtxt 添加的 ndarray 中删除“b”字符
- reporting-services - 如何限定使用 First 以仅获取组中的第一个值?
- android - 将项目迁移到 AndroidX 后出现 FileNotFoundException