Another way of typing non-ASCII characters is to use C-q – by default, if you type ‘C-q’ followed by some digits, those are interpreted as an octal code. Set `read-quoted-char-radix` to 10, and then you can type like a normal person. ;)

    (setq read-quoted-char-radix 10)

Now try `C-q 160 RET` – you should get something that looks like a space. Move back by one and use `C-u C-x =` – you should get something like this:

  character:    (0240, 160, 0xa0)
    charset: eight-bit-graphic (8-bit graphic char (0xA0..0xFF))
 code point: 160
     syntax:   	which means: whitespace

The article on WikiPedia:ISO/IEC 8859-1 has a good representation of the Latin-1 code page to help you figure out the octal, hex or decimal value of a character.

On a graphical display, you should be able to use quoted Meta-modified characters to generate character codes 128 (decimal) and up, representing non-ASCII characters. The characters that are inserted are based on the LanguageEnvironment. On a terminal, quoted Meta characters will not work since Meta is converted to ‘ESC’.

For Latin-1 (ISO 8859-1), this table shows all the characters inserted with a quoted Meta.

Key Character Key Character Key Character Key Character
C-q M-SPCNBSP C-q M-8¸ C-q M-PÐ C-q M-hè
C-q M-!¡ C-q M-9¹ C-q M-QÑ C-q M-ié
C-q M-"¢ C-q M-:º C-q M-Rò C-q M-jê
C-q M-#£ C-q M-;» C-q M-SÓ C-q M-kë
C-q M-$¤ C-q M-<¬ C-q M-TÔ C-q M-lì
C-q M-%¥ C-q M-=½ C-q M-UÕ C-q M-mí
C-q M-&¦ C-q M->¾ C-q M-VÖ C-q M-nî
C-q M-§ C-q M-?¿ C-q M-W× C-q M-oï
C-q M-(¨ C-q M-@À C-q M-XØ C-q M-pð
C-q M-)© C-q M-AÁ C-q M-YÙ C-q M-qñ
C-q M-*ª C-q M-BÂ C-q M-ZÚ C-q M-rñ
C-q M-+« C-q M-CÃ C-q M-[Û C-q M-só
C-q M-,¬ C-q M-DÄ C-q M-\Ü C-q M-tô
C-q M--­ C-q M-EÅ C-q M-]Ý C-q M-uõ
C-q M-.® C-q M-FÆ C-q M-^Þ C-q M-vö
C-q M-/¯ C-q M-GÇ C-q M-_ß C-q M-w÷
C-q M-0° C-q M-HÈ C-q M-`à C-q M-xø
C-q M-1± C-q M-IÉ C-q M-aá C-q M-yù
C-q M-2² C-q M-JÊ C-q M-bâ C-q M-zú
C-q M-3³ C-q M-KË C-q M-cã C-q M-}ý
C-q M-4´ C-q M-LÌ C-q M-dä C-q M-|ü
C-q M-5µ C-q M-MÍ C-q M-eå C-q M-~þ
C-q M-6C-q M-NÎ C-q M-fæ
C-q M-7· C-q M-OÏ C-q M-gç

Note, many of these are not mnemonic, so you are probably better off WritingIsoLatinOne with the ‘C-x 8’ prefix. The only reason this works is because the function ‘read-quoted-char’ converts meta characters with this bit of arithmetic.

    (logior (logand ?\M-~ (lognot ?\M-\^@)) 128)
    ==> 254