ProcessWire module that formats non-alphanumeric characters in URLs according to rfc3986 in the frontend
Simply install and add as Textformatter of choice in the configuration of your URL field.
This is proof-of-concept code and comes without any warranty. Use at your own risk.
Released under WTFPL. Do with it what you want. Enjoy!