The $ character must be URL encoded if used as a database password
|Reported by:||Ryan J Ollos||Owned by:|
TracEnvironment#DatabaseConnectionStrings lists 3 characters that must be URL encoded when used as a database password. I've found that
$ must also be URL encoded (Trac 1.0.10).
I found this by trial and error. It's not clear to me why
$ needs to be encoded.
>>> from trac.db.api import _parse_db_str >>> p = _parse_db_str('mysql://tracuser:the$_$password@localhost:3306/trac') >>> print(p['password']) the$_$password