In general Firefox renders all Unicode characters that it can't find a glyph for in your fonts as a box containing the character code. If you go to eg. a Chinese web site and you don't have Chinese fonts installed, you'll get nothing but little boxes.
However that particular character in the screenshot is � U+FFFD REPLACEMENT CHARACTER. (I get a diamond shape with a question mark; you might also get a square box or just a question mark.)
Unless someone has deliberately typed that character, which is unlikely (except for me just doing it above), U+FFFD means someone has screwed up their encodings at some point along the line, and either:
tried to encode a character into an encoding that doesn't support it, for example if someone tried to send a Chinese character in a Latin-1 encoding, or
served an encoded byte sequence as UTF-8 when actually it's something else.
In the particular screenshot it is clearly a problem where “smart quotes” have been submitted as single Windows code page 1252 bytes. Then the data has probably been misattributed as UTF-8.
Where the misattribution is due to your browser guessing the charset wrong (for stupid pages that don't label their charsets), you can fix it by going to View->Encoding and guessing the right one. Where the misattribution is due to the web site's own processing of strings, there's not much you can do about it. Unfortunately many web sites get charsets wrong, particularly those written in Unicode-ignorant languages like PHP, classic-ASP, Ruby and JSP (despite Java's native strings, JSP/Servlet is pretty broken wrt encodings).