我使用web2py连接到密码为'at'的数据库,例如'P @ sswd'。
db = DAL('mysql://user1:P@sswd@localhost/test')
使用密码“P”将其解释为与主机'sswd @ localhost'的连接。
我尝试了明显的网址转义技术,但失败了:
db = DAL('mysql://user1:P%40sswd@localhost/test')
是否有资源解释了这些URL样式连接字符串中使用的转义约定?
答案 0 :(得分:4)
您应该使用decode_credentials
选项:
db = DAL('mysql://user1:P%40sswd@localhost/test', decode_credentials=True)