Um conjunto de caracteres é definido de acordo com os símbolos constantes no alfabeto utilizado para escrita em uma ou mais línguas. A Organização Internacional de Normas (International Standards Organization - ISO) padronizou através da norma ISO-8859 vários desses conjuntos, identificados por ISO-8859-x onde o x corresponde a um determinado alfabeto. O conjunto ISO-8859 utiliza 8 bits para representar cada caracter, o que permite uma gama de 256 sinais (valores de zero a 255). Em cada um dos conjuntos, os códigos zero a 127 correspondem ao conjunto ASCII (American Standard Code for Information Interchange) e os códigos 160 a 255 são usados para caracteres nacionais.
Para a língua portuguesa, recomenda-se o uso do conjunto ISO-8859-1, que compreende o alfabeto latino e letras acentuadas usadas pelas línguas do oeste da Europa e América. Este conjunto de caracteres também é frequentemente chamado de Latin-1 ou ISO Latin-1.
Um padrão mais recente é o Unicode, definido pela norma ISO-10646, que permite definir caracteres cuja representação interna no computador utiliza mais de um byte (ou octeto na nomenclatura ISO). Todas as versões mais recentes de sistemas Unix suportam Unicode (ou pelo menos seus fabricantes alegam suportar).
Além dos caracteres alfanuméricos e sinais de acentuação, é possível também gerar sinais semigráficos para desenho de linhas e bordas. Esses sinais podem aproveitar códigos não utilizados pelo conjunto oficial, tornando-os não portáveis.
O Linux foi desenhado internamente de modo a facilitar a sua fácil configuração e extensão em tempo de execução, não constituindo o tratamento do teclado e fontes de caracteres excepção. Ele possui uma implementação ``nível 1'' do padrão Unicode. Maiores detalhes podem ser encontrados nos manuais do Linux, que podem ser lido com os comandos
man unicode man utf-8 man iso_8859_1 man ascii
mas antes disso certifique-se de que o man está configurado corretamente,
conforme mostrado na seção (Man, groff, troff).