There may be some non-ASCII characters that your terminal cannot display. Most text terminals support just a single character set (use the variable default-terminal-coding-system to tell Emacs which one, Terminal Coding); characters that can’t be encoded in that coding system are displayed as ‘?’ by default.
Graphical displays can display a broader range of characters, but you may not have fonts installed for all of them; characters that have no font appear as a hollow box.
If you use Latin-1 characters but your terminal can’t display Latin-1, you can arrange to display mnemonic ASCII sequences instead, e.g., ‘'o’ for o-umlaut. Load the library iso-ascii to do this.
If your terminal can display Latin-1, you can display characters
from other European character sets using a mixture of equivalent
Latin-1 characters and ASCII mnemonics. Customize the variable
latin1-display to enable this. The mnemonic ASCII
sequences mostly correspond to those of the prefix input methods.