我使用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样式连接字符串中使用的转义约定?
最佳答案
您应该使用decode_credentials选项:
db = DAL('MysqL://user1:P%40sswd@localhost/test',decode_credentials=True)