在web2py数据库连接字符串中转义特殊字符

5
我正在使用web2py连接带有“at”符号密码的数据库,例如“P@sswd”。
db = DAL('mysql://user1:P@sswd@localhost/test')

这将被解释为使用密码“P”连接到主机'sswd@localhost'。

我尝试过常见的URL转义技术,但失败了:

db = DAL('mysql://user1:P%40sswd@localhost/test')

有没有一种资源可以解释这些URL风格的连接字符串中使用的转义约定?


你的第二个例子使用SQLAlchemy的create_engine()函数完全正常。 - Blender
1个回答

4
你应该使用 decode_credentials 选项:
db = DAL('mysql://user1:P%40sswd@localhost/test', decode_credentials=True)

哦,顺便问一下,为什么需要这个呢?'mysql://user1:P@sswd@localhost/test'不是可以直接使用吗? - Pacerier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接