ASCII only covers a certain set of characters, starting at ASCII 0 to ASCII 127. Those numbers above 127 are in heavy conflict, depending on which non-ASCII extension was used.
The general "best" solution to go with for maximum portability these days is one of the Unicode encodings. There are a number of them, but UTF-8 is very popular. When I say there are a number of Unicode encodings, realize that unlike different character sets, all Unicode encodings encode the same characters, they just do it with a different number of bits. UTF-8 attempts to save a lot of disk space / memory if your stuff is mostly ASCII.
In Linux, Gnome offers a "character picker" application, called
gnome-character-map, which will allow you to find all of the glyphs in a font for all of the Unicode characters. Note that while it is possible to write a Unicode character, depending on the font you use, there might not be a glyph (or symbol) embedded in the font to display that Unicode character. When you don't have something to display a particular character, sometimes a square will be drawn in the unavailable glyph's place.
I typically cut and paste characters from the character map when I need to do something special; however, there is a sequence to directly type the character in (similar to windows). Do a Shift-Control and then type in the hexadecimal character value (which you can look up in the character map, if necessary).