IE7 and ampersands in URLs
I may have stumbled across something of note regarding IE7 and the way it treats URLs with GET parameters (or this may have been known for some time). It seems that you must escape the ampersands as entities or the link may not work in IE7.
I know that this is a good thing, as ampersands should be encoded as entities for standards compliance, but within URLs is one place I often forget to change my &'s to &'s. Perhaps most significant is that IE7 refuses to treat the ampersands the old way even with an HTML4 DOCTYPE or no DOCTYPE at all.
Most parameters should work fine, in fact the only reason I stumbled across this issue was because some of my code has URLs like so:
IE7 treats the ® as an entity, converts it to a registered trademark symbol, and the URL ceases to function as intended. If I change the URL so that the ampersand is properly escaped as an entity, it works fine:
However, the fact that it does not fall back to the old behaviour with an HTML4 DOCTYPE or no DOCTYPE disturbs me, as it would seem to imply that a lot of stuff could potentially break out there.
Can anyone else test this and verify? Or is it just happening for me?