It's not strange characters, it's spaces that are the problem.
URL's / URN's may not contain spaces, so I guess IE sees the space, and translates it the same way urlencode() does, to make it fit the standard taht the server expects.
Another example of how IE allows you to create bad-html and get away with it.