Canonicalize() - Illegal hex characters in escape (%) pattern

dump(Canonicalize('10%', true, true, true));

Throws this error:

URLDecoder: Incomplete trailing escape (%) pattern

Work around is to replace all % with %25 like this:

dump(Canonicalize('10%25', true, true, true));

Feels like a hack for a Java bug, and I’m curious why URLDecoder is involved when it’s just a string argument and not necessarily a url, but is this the proper and reliable way to prep for what Canonicalize() expects, or is it a bug that Canonicalize() isn’t auto-replacing % before calling URLDecoder?

No idea whether this is a hack or not but thanks for the work around. I’ve had this error on my todo list for a while…

No fix yet, but thorough analysis here: