Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jan 2015 11:53:28 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Kubilay Kocak <koobs@FreeBSD.org>
Cc:        Robert Simmons <rsimmons0@gmail.com>, freebsd-python@freebsd.org
Subject:   Re: Unicode Problem
Message-ID:  <20150129095328.GQ42409@kib.kiev.ua>
In-Reply-To: <54C9FE33.2070307@FreeBSD.org>
References:  <CA%2BQLa9DnD4mYSBc3B_SUZ6shH64v8Lej_CMMVaK=s%2BPrQp5Gvw@mail.gmail.com> <CA%2BQLa9Amvu%2B1hg4Oo5J_CjoJNF2Ahs6LAkPrOAEncNU_iWXEtQ@mail.gmail.com> <54C9FE33.2070307@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 29, 2015 at 08:32:35PM +1100, Kubilay Kocak wrote:
> On 29/01/2015 6:13 PM, Robert Simmons wrote:
> > On further inspection I've found the following:
> > 
> > FreeBSD
> >>>> import sys
> >>>> print(sys.getdefaultencoding())
> > utf-8
> >>>> print(sys.stdout.encoding)
> > US-ASCII
> > 
> > MacOS X:
> >>>> import sys
> >>>> print(sys.getdefaultencoding())
> > utf-8
> >>>> print(sys.stdout.encoding)
> > UTF-8
> > 
> > How do I modify stdout encoding to set it to UTF-8 in FreeBSD?
> 
> Another data point from my 9-STABLE:
> 
> Python 3.4.2 (default, Nov  3 2014, 13:38:18)
> [GCC 4.2.1 Compatible FreeBSD Clang 3.4.1 (tags/RELEASE_34/dot1-final
> 208032)] on freebsd9
> Type "help", "copyright", "credits" or "license" for more information.
> >>> b'\xc3\xa2'.decode('utf-8')
> '??'
> >>> import sys
> >>> print(sys.getdefaultencoding())
> utf-8
> >>> print(sys.stdout.encoding)
> UTF-8
> >>>
> 
> Python 2.7.9 (default, Jan 24 2015, 20:39:40)
> [GCC 4.2.1 Compatible FreeBSD Clang 3.4.1 (tags/RELEASE_34/dot1-final
> 208032)] on freebsd9
> Type "help", "copyright", "credits" or "license" for more information.
> >>> b'\xc3\xa2'.decode('utf-8')
> u'\xe2'
> >>> import sys
> >>> print(sys.getdefaultencoding())
> ascii
> >>> print(sys.stdout.encoding)
> UTF-8
> >>>

Encoding of the sys.stdout is determined by the language environment.
Set LANG environment variable to something like en_US.UTF-8 to get
UTF-8 output from python.

The 'data points' about python version, FreeBSD version, compiler
version, colour of the enclosure for hard disk used, or even phase of
the Moon have lesser impact on the sys.stdout.encoding.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150129095328.GQ42409>