Long explanation here
https://en.wikipedia.org/wiki/Percent-encoding
shorter explanation: URLs have limitations on the characters allowed in them, the workaround is to URLencode, them, e.g., replace those characters with their corresponding hexadecimal (base 16, digits go from 0-9, A-F) values, prefixed with %.
I had to deal with this recently, had a whole bunch of URLs in some JSON files that included Chinese characters, and they work fine if I manually enter/paste them in a browser because the browsers automatically URLencode them, but when used in code they failed, so I have to URLencode all of them. I use a Visual Studio Code plugin to make those corrections, but there are also websites like this