I'm setting up the CPAN module for perl on CentOs 5, and one of the questions is 'Does your terminal support UTF-8?' (paraphrased). How do I find out?

link|improve this question
feedback

4 Answers

up vote 3 down vote accepted

Really, the surefire way to test is to download a text file and cat it in the terminal and see if everything looks ok.

or, if you can, recompile the terminal enabling the unicode option (assuming it has one).

what does $TERM and $LANG look like?

link|improve this answer
$TERM is "xterm" $LANG is "en_US.UTF-8" (aha!) The text file displays nicely in terminal, but curiously, not in Firefox. – Whatsit May 28 '09 at 16:16
yea, i actually encountered the same thing :-/ ... when i tried therek's suggestion, i got the question mark – theman_on_osx May 28 '09 at 17:02
$LANG just tells you what your system will use when writing to stdout/stderr. It doesn't say anything about the capabilities of the terminal. However, if everything your system prints of weird characters looks ok, then your terminal probably supports UTF-8. – Epcylon May 28 '09 at 17:58
feedback

The most sure fire way is to use the ‘locale’ command. It will print out all the various and sundry variables that dictate what character set to use. For instance, this is my output on RHEL5.3, set to only use UTF-8 by default.

LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
link|improve this answer
feedback

You may just use the following command:

locale charmap
link|improve this answer
feedback

The lamest way: run following and check the output. It should be a capital O with circumflex.

perl -le 'print "\x{d4}"'
link|improve this answer
I'm pretty sure my terminal supports UTF-8 now (passed the test suggested by theman_on_osx) but this just outputs a blank line. What's going on? – Whatsit May 28 '09 at 16:19
Maybe the font you're using in your terminal app does not support UTF-8 characters. – therek May 28 '09 at 18:13
1  
I know this is extremely late but the UTF-8 Out flag makes that work better perl -CO -le 'print "\x{d4}"' – Ashley Feb 8 '11 at 21:49
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.