January 23rd, 2013, 04:17 PM
Originally Posted by KeithBraud
A common error occurs in HTML when including a URL which contains an ampersand ("&"):
<!-- This is invalid! --> <a href="foo.cgi?chapter=1§ion=2©=3&lang=en">...</a>
This example generates an error for "unknown entity section" because the "&" is assumed to begin an entity reference. Browsers often recover safely from this kind of error, but real problems do occur in some cases. In this example, many browsers correctly convert ©=3 to ©=3, which may cause the link to fail. Since ⟨ is the HTML entity for the left-pointing angle bracket, some browsers also convert &lang=en to 〈=en. And one old browser even finds the entity §, converting §ion=2 to §ion=2.
To avoid problems with both validators and browsers, always use & in place of & when writing URLs in HTML:
Note that replacing & with & is only done when writing the URL in HTML, where "&" is a special character (along with "<" and ">"). When writing the same URL in a plain text email message or in the location bar of your browser, you would use "&" and not "&". With HTML, the browser translates "&" to "&" so the Web server would only see "&" and not "&" in the query string of the request.
Good write up but you will need to add an extra amp; at the end of the & in the changes so it is displayed as & (& amp; amp; with no spaces)
Last edited by JohnFrank : January 23rd, 2013 at 04:20 PM.