You'll often see some odd things on webpages, trying to work out whether it's a fault on your system or their's can be difficult. This pages discusses just a few of the common ones.
Seeing things like   written on a page means that the author has goofed at entering a non-breaking space, but if you saw then, most likely, your web browser is at fault.
NB: This situation is the same whether character references use named entities or numerical references (e.g. or  ).
Notice the omission of the semi-colon on the first “typing error” example—this means that a web browser mightn't interpret that string of characters as being a “character entity”, and just show the characters as typed.
But the second example could be due to two things: The author making a different sort of typing error (generally from trying to directly type in a character entity into an HTML authoring program that unintelligently escapes all ampersands, or using poor post-processing tools), or your browser not being able to handle that particular character entity (quite unlikely with the non-breaking space entity, but more likely with some other less-used ones—like fancy quotes and proper typographical symbols).
Browsers are supposed to indicate to the reader when they can't display some character, but they can do this in various different ways (the method is up to however the browser is programmed, there isn't any specific way that they all must do it). One way is to display the entity name (this allows you to work out what you're supposed to be seeing), another way is to show an unknown symbol indicator, such as a question mark or a small square (this merely lets you know that something isn't displaying correctly).
As previously explained, your browser may be doing this to indicate that it can't display a character from a page, or it simply may not be able to work out what it's supposed to be showing (usually because it's being fed broken data). The reasons could be various: There's an error on the page, the server is falsely stating which character encoding the page is using, the browser isn't up to the task, the current font isn't capable of displaying the character, etc.
To try and remedy this, there's a couple of things you could do: Let your browser try to automatically determine the character encoding (this is not the usual way it should be operating, the usual way is for the server to declare what encoding is used, and for the browser to use that scheme without bothering you about it; getting the browser to try to determine the encoding scheme is a work around for broken webservers that don't declare the scheme, or declare the wrong one), or manually try out some different ones yourself (to work around poor server set-ups). Or try using a different font (this is not something to do when authoring pages, but a viewing configuration issue—web browsers need to use suitable fonts, and this is dependent on the system the browser is running on—the best font for a job cannot be determined remotely).