Some of the standard keyboard characters are reserved for use by the HTML processors and must be encoded to be displayed on the screen properly. Don't forget the leading ampersand (&) and trailing semicolon (;) for these codes:
& (&) Ampersand
< (<) Less Than
> (>) Greater Than
" (") Quote
Many other characters are not from the standard keyboard and can only be displayed by indicating their presence with codes. These also need the ampersand (&) and semicolon (;) to work:
( ) Non-breaking Space ß (ß) € (€) Euro
The best list that I've found so far is at Character entity references in HTML 4.0. Or you might wish to check out the Unicode list.