这是我的连接网址:
jdbc:mysql://mydbhost:3306/mydatabase?user=username&password=%u16*!ypK@WrUQbr
Run Code Online (Sandbox Code Playgroud)
当我打电话
DriverManager.getConnection()
Run Code Online (Sandbox Code Playgroud)
使用当前 URL,我正在捕获异常:
ava.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "u1"
Run Code Online (Sandbox Code Playgroud)
如果连接 URL 不包含 % 一切正常。
我找到了有关此问题的一些信息,并建议进行下一次转换:
replaceAll("%(?![0-9a-fA-F]{2})", "%25")
Run Code Online (Sandbox Code Playgroud)
通过这种转换,我有错误:
Access denied for user(incorrect password)
Run Code Online (Sandbox Code Playgroud)
有人可以帮助正确转换网址吗?
尝试使用以下字符串,其中密码中的所有保留字符都替换为适当的百分比编码值:
% : %25
* : %2A
! : %21
@ : %40
"jdbc:mysql://mydbhost:3306/mydatabase?user=username&password=%25u16%2A%21ypK%40WrUQbr"
Run Code Online (Sandbox Code Playgroud)
有关百分比编码Wikipedia 的更多信息
| 归档时间: |
|
| 查看次数: |
4947 次 |
| 最近记录: |