测试一个服务的启动,其中包含mysql的链接,连接的url为:
mysql+pymysql://root:9NwC#wpgY3oc@127.0.0.1:3306/testdb?charset=utf8
服务启动一直提示mysql端口无法解析,具体报错为:
ValueError: Port could not be cast to integer value as '9NwC'
经过发现,服务在解析URL时,将#
号后面的内容丢弃了,查阅相关文档发现,在url中,#
有特殊的含义,所以,在路径中的#
号要进行转义,规则为:
# -> %23
因此,将mysql连接路径转为:
mysql+pymysql://root:9NwC%23wpgY3oc@127.0.0.1:3306/testdb?charset=utf8
再次启动服务,正常连接数据库。