There are two uses of & in HTML. First the one you know about: between > and < . There it codes foreign characters. And is itself a foreign character which must be coded. Now the second use: between < and > . There it separates arguments to CGI-scripts. There it should not be encoded.
Because other newbies confuse these two uses too, modern browsers can be instructed to use ; instead. Then you can use ; in your links too (the case between < and >).
In reply to Re: Parsing un-encoded ampersand in XHTML
by Anonymous Monk
in thread Parsing un-encoded ampersand in XHTML
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |