WTF? Printing unicode strings
Ron Garret
rNOSPAMon at flownet.com
Thu May 18 21:04:09 EDT 2006
In article <1147998139.268318.315250 at y43g2000cwc.googlegroups.com>,
"Serge Orlov" <Serge.Orlov at gmail.com> wrote:
> Ron Garret wrote:
> > In article <1147992722.970761.220840 at j73g2000cwa.googlegroups.com>,
> > "Serge Orlov" <Serge.Orlov at gmail.com> wrote:
> >
> > > Ron Garret wrote:
> > > > In article <mailman.5906.1147989402.27775.python-list at python.org>,
> > > > Robert Kern <robert.kern at gmail.com> wrote:
> > > >
> > > > > Ron Garret wrote:
> > > > >
> > > > > > I forgot to mention:
> > > > > >
> > > > > >>>>sys.getdefaultencoding()
> > > > > >
> > > > > > 'utf-8'
> > > > >
> > > > > A) You shouldn't be able to do that.
> > > >
> > > > What can I say? I can.
> > > >
> > > > > B) Don't do that.
> > > >
> > > > OK. What should I do instead?
> > >
> > > Exact answer depends on what OS and terminal you are using and what
> > > your program is supposed to do, are you going to distribute the program
> > > or it's just for internal use.
> >
> > 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 at 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 at www01:~$
rg
More information about the Python-list
mailing list