GNU Emacs and UTF-8 locale

I recently wanted to shift to a UTF-8 locale, because I wanted to play with stuff like writing in Arabic, and because it seems to be the road forward.

So I switched and GNU Emacs starts to enter garbage in my buffers. I type “ “, but Emacs gives me “æøå éí“. Ever so slightly less useful, and less readable too.

I tried fiddling with “Options | Mule | Language Environments” and “Options | Mule | Set Coding System”, but to no avail.

Somewhat deluded I gave up and went back to Latin 1, mostly at least. Every once in a while I tried again, and one day I stumbled over a reference to the Emacs file etc/PROBLEMS, a section on problems with UTF-8 support in GNU Emacs. Unfortunately the section was gone from my copy, but I found it on the net.

The solution to all my problems: add the following lines to ~/.emacs:

(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)

The problem went away and haven’t been seen since.

BTW, I’m using GNU Emacs 21.3.1, installed from Debian testing and unstable (tried them both).

Tags:

9 Responses to “GNU Emacs and UTF-8 locale”

  1. jbnote Says:

    Awesome. Thanks. works also for french keyboards :)

  2. Heinzi (Austria) Says:

    That’s it… thanks a lot.

  3. Benot Says:

    nearly works : except when i type stuff like "" (or any compose char). This locks emacs. Looks like "" is interpreted as a command as it’s displayed in the status bar …

  4. Thomas Says:

    For Google indexing:
    This page explains how to solve the problem of pasting accents and accented characters from emacs to mozilla firefox.
    How to paste accents from emacs to firefox.
    Comment copier-coller des accents de emacs vers firefox.
    Wie man Umlauts von emacs zum firefox pasted.

  5. Mark Says:

    Got it working after some trouble – turns out I had (standard-display-european t) in my .emacs which needed removing.

  6. artimo Says:

    This solved problems with UTF-8 characters in Emacs term and ansi-term.

    Tio solvis problemojn pri UTF-8-literoj en
    Emakso-term kaj ansi-term.

  7. yvind stlund Says:

    I just tried this in Emacs in Windows. And it looks like it thinks that every is a command now. I made a clean _emacs file. So unless there is something else I don’t know it is loading in Windows, then it should have been pretty stright forward, but no..:(

  8. Steinar Hamdahl Says:

    I experienced the same problem as stlund and found that if I just removed the (set-keyboard-coding-system ‘utf-8) line, everything works like a charm.
    Thanks for the help – would never have known where to start by myself!

  9. Viktor Says:

    Thank you. Same problem with Swedish in emacs on Debian, must have utf-8. Killed two days for that. Now it seems to work. Thanks for sharing info!

Leave a Reply

You must be logged in to post a comment.