Re: WTF? Printing unicode strings
- From: Ron Garret <rNOSPAMon@xxxxxxxxxxx>
- Date: Fri, 19 May 2006 15:53:49 -0700
In article <1148029074.083644.112370@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
"Serge Orlov" <Serge.Orlov@xxxxxxxxx> wrote:
Ron Garret wrote:
In article <1148001708.183506.296240@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
"Serge Orlov" <Serge.Orlov@xxxxxxxxx> wrote:
Ron Garret wrote:
I'm using an OS X terminal to ssh to a Linux machine.
In theory it should work out of the box. OS X terminal should set
enviromental variable LANG=en_US.utf-8, then ssh should transfer this
variable to Linux and python will know that your terminal is utf-8.
Unfortunately AFAIK OS X terminal doesn't set that variable and most
(all?) ssh clients don't transfer it between machines. As a workaround
you can set that variable on linux yourself . This should work in the
command line right away:
LANG=en_US.utf-8 python -c "print unichr(0xbd)"
Or put the following line in ~/.bashrc and logout/login
export LANG=en_US.utf-8
No joy.
ron@www01:~$ LANG=en_US.utf-8 python -c "print unichr(0xbd)"
Traceback (most recent call last):
File "<string>", line 1, in ?
UnicodeEncodeError: 'ascii' codec can't encode character u'\xbd' in
position 0: ordinal not in range(128)
ron@www01:~$
What version of python and what shell do you run? What the following
commands print:
python -V
echo $SHELL
$SHELL --version
ron@www01:~$ python -V
Python 2.3.4
ron@www01:~$ echo $SHELL
/bin/bash
ron@www01:~$ $SHELL --version
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.
ron@www01:~$
That's recent enough. I guess the distribution you're using set LC_*
variables for no good reason.
Nope:
ron@www01:~$ export | grep LC
ron@www01:~$
Either unset all enviromental variables
starting with LC_ and set LANG variable or overide LC_CTYPE variable:
LC_CTYPE=en_US.utf-8 python -c "print unichr(0xbd)"
Should be working now :)
Nope:
ron@www01:~$ LC_CTYPE=en_US.utf-8 python -c "print unichr(0xbd)"
Traceback (most recent call last):
File "<string>", line 1, in ?
UnicodeEncodeError: 'ascii' codec can't encode character u'\xbd' in
position 0: ordinal not in range(128)
rg
.
- References:
- WTF? Printing unicode strings
- From: Ron Garret
- Re: WTF? Printing unicode strings
- From: Fredrik Lundh
- Re: WTF? Printing unicode strings
- From: Ron Garret
- Re: WTF? Printing unicode strings
- From: Robert Kern
- Re: WTF? Printing unicode strings
- From: Ron Garret
- Re: WTF? Printing unicode strings
- From: Serge Orlov
- Re: WTF? Printing unicode strings
- From: Ron Garret
- Re: WTF? Printing unicode strings
- From: Serge Orlov
- Re: WTF? Printing unicode strings
- From: Ron Garret
- Re: WTF? Printing unicode strings
- From: Serge Orlov
- Re: WTF? Printing unicode strings
- From: Ron Garret
- Re: WTF? Printing unicode strings
- From: Serge Orlov
- WTF? Printing unicode strings
- Prev by Date: Re: Complex evaluation bug
- Next by Date: Re: Daily python url archives
- Previous by thread: Re: WTF? Printing unicode strings
- Next by thread: Re: WTF? Printing unicode strings
- Index(es):
Relevant Pages
|
|