1

I have a file I've called æøå.js (just an example), and when I run ls in the directory where it's stored I get

root@chu:~/projects/someproject/server# ls src
a.js  b.js  ??????.js

So it seems such symbols can't be displayed. PuTTY is set to expect UTF-8, and my env looks like this

TERM=xterm
SHELL=/bin/bash
USER=root
LANG=en_GB.UTF-8
SHLVL=1
HOME=/root
LANGUAGE=en_US:en
LS_OPTIONS=--color=auto
PYTHONPATH=:/root/pymodules
LOGNAME=root
_=/usr/bin/env

(I've removed some stuff from that output since they can't possibly be relevant anyway)

But here's the thing; When I open a file with vim then I can type and see all those symbols without a problem. So the problem is apparently just in the shell/bash. Are there any settings I can supply that will allow bash to display those symbols? Can someone also explain why it doesn't work now, with UTF-8?


Edit: This is how tree displays æøå.js

|-- src
|   |-- a.js
|   |-- b.js
|   `-- \303\246\303\270\303\245.js

1 Answer 1

8

As I already explained, twice, in our earlier discussion, the problem is that your locale configuration is pointing to a nonexistent locale.

Your environment including $LANG is okay; however, the en_GB.UTF-8 locale must be generated.

On most distributions (including Debian):

  1. Open /etc/locale.gen in a text editor.
  2. Uncomment the en_GB.UTF-8 line by removing the leading #.
  3. Run locale-gen as root.

On Debian:

  1. Run dpkg-reconfigure locales as root.
  2. Scroll down to the "en_GB.UTF-8" entry, mark it with Space.
  3. Select OK with Tab, Enter.

Also, for the record, ls is a separate program; it is not part of bash.

3
  • Ah yes, I didn't think this question was related. Also I asked this question before you solved my previous one :-) ls displays the symbols correctly now and I'll mark your answer as correct. tree however, working correctly in every other way, displays the file as \303\246\303\270\303\245.js. Is that fixable?
    – Hubro
    Commented Jan 14, 2012 at 20:04
  • That might depend on the version of tree, actually. I compiled 1.6.0 (latest) and 1.5.3 (Debian squeeze) on the same system, and 1.6.0 displays Unicode while 1.5.3 uses octal. Commented Jan 14, 2012 at 20:29
  • Good catch. I installed version 1.6.0 and it displays everything correctly. Thanks a million once again for your help! :-)
    – Hubro
    Commented Jan 14, 2012 at 20:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .