Tous les jeux de caractères supportés sont supportés dans les tampons d'Emacs lorsque les caractères multi-octets sont activés ; il n'est pas nécessaire de sélectionner une langue particulière pour afficher ses caractères dans un tampon d'Emacs. Cependant, il est important de sélectionner un environnement de langue dans le but de définir diverses valeurs par défaut. L'environnement de langue représente réellement un choix de script préféré (plus ou moins) plutôt qu'un choix de langue.
L'environnement de langue contrôle quels systèmes d'encodage reconnaître à la lecture d'un texte (Section 20.7). Ceci s'applique à des fichiers, messages électroniques arrivés, messages de forums, et tout autre texte que vous lisez sous Emacs. Il peut aussi spécifier le système d'encodage à utiliser par défaut lorsque vous créez un fichier. Chaque environnement de langue spécifie aussi une méthode d'entrée par défaut.
La commande pour sélectionner un environnement de langue est M-x set-language-environment. Le tampon courant lorsque vous utilisez cette commande n'est pas important, car les effets s'appliquent en globalité à la session Emacs. Les environnements de langue supportés incluent :
Chinese-BIG5, Chinese-CNS, Chinese-GB, Cyrillic-Alternativnyj, Cyrillic-ISO, Cyrillic-KOI8, Devanagari, English, Ethiopic, Greek, Hebrew, Japanese, Korean, Lao, Latin-1, Latin-2, Latin-3, Latin-4, Latin-5, Thai, Tibetan, and Vietnamese.
Certains systèmes d'exploitation vous permettent de spécifier la langue que vous utilisez en définissant des variables d'environnement locales. Emacs utilise une d'elles : si votre nom local pour le type de caractères contient la chaîne 8859-n, Emacs sélectionne automatiquement l'environnement de langue correspondant.
Pour afficher les informations sur les effets d'un environnement de langue donné lang-env, utilisez la commande C-h L lang-env RET (describe-language-environment). Ceci vous indique pour quelles langues cet environnement de langue est utile, et liste les jeux de caractères, les systèmes d'encodage, et les méthodes d'entrée qui vont avec. Elle montre aussi du texte d'exemple pour illustrer les scripts utilisés dans cet environnement de langue. Par défaut, cette commande décrit l'environnement de langue choisi.