Last modified: 2012-09-16 07:30:22 UTC
{{fullurl:foo|param=lorem ipsum}} becomes http://some.wiki.org/w/index.php?title=foo¶m=lorem instead of http://some.wiki.org/w/index.php?title=foo¶m=lorem%20ipsum further dependency: [{{fullurl:foo|param=lorem ipsum}} link name] becomes "ipsum link name" linking to http://some.wiki.org/w/index.php?title=foo¶m=lorem instead of "link name" linking to http://some.wiki.org/w/index.php?title=foo¶m=lorem%20ipsum
You have to url-encode the param part your self, because MediaWiki does not know if a character must urlencoded or not (in some case it is bad to encode = or & or %). But the first gives http://some.wiki.org/w/index.php?title=foo¶m=lorem ipsum so there is no trim.
Marking as INVALID per comment #1. The query string passed to fullurl as second argument is supposed to be urlencoded already. Encoding it again would break b/c on thousands of pages.
It would be possible to encode only the characters which are invalid in URLs, like spaces, similar to what a web browser does when you enter a URL.
Also, {{fullurl:}} shouldn't be sending invalid query strings through to Title::getFullURL(), there should be some kind of validation on the input side.
Against which list you want validate the query string? It is the current behaviour, that the second param of fullurl has to be a urlencoded string. Changing this can break b/c.