URLs use some characters to mark parts of the URL, so if you include them in a parameter of the URL, the parameter gets divided into parts when the browser tries to parse the URL. The solution is to “URL encode” or “percent encode” the characters causing problems. The spaces in your examples have already been encoded (%20).
| normal | encoded |
|---|---|
| (space) | %20 |
| % | %25 |
| & | %26 |
| * | %2A |
| = | %3D |
See https://en.wikipedia.org/wiki/Percent-encoding for more, and a web search will find many pages where you can paste your parameter and get it encoded automatically.
As for the trailing full-stop issue, that’s likely something the comment formatter does to prevent punctuation being appended to a URL by accident. You might be able to get the formatter to treat the last full-stop as part of the URL by encoding it. Normally full-stops don’t need to be encoded, so most automatic encoders won’t do this, but it’s legal:
| normal | encoded |
|---|---|
| . | %2E |