Right solution to unicode error?
wxjmfauth at gmail.com
wxjmfauth at gmail.com
Thu Nov 8 14:54:23 EST 2012
Le jeudi 8 novembre 2012 19:49:24 UTC+1, Ian a écrit :
> On Thu, Nov 8, 2012 at 11:32 AM, Oscar Benjamin
>
> <oscar.j.benjamin at gmail.com> wrote:
>
> > If I want the other characters to work I need to change the code page:
>
> >
>
> > O:\>chcp 65001
>
> > Active code page: 65001
>
> >
>
> > O:\>Q:\tools\Python33\python -c "import sys;
>
> > sys.stdout.buffer.write('\u03b1\n'.encode('utf-8'))"
>
> > α
>
> >
>
> > O:\>Q:\tools\Python33\python -c "import sys;
>
> > sys.stdout.buffer.write('\u03b1\n'.encode(sys.stdout.en
>
> > coding))"
>
> > α
>
>
>
> I find that I also need to change the font. With the default font,
>
> printing '\u2013' gives me:
>
>
>
> –
>
>
>
> The only alternative font option I have in Windows XP is Lucida
>
> Console, which at least works correctly, although it seems to be
>
> lacking a lot of glyphs.
--------
Font has nothing to do here.
You are "simply" wrongly encoding your "unicode".
>>> '\u2013'
'–'
>>> '\u2013'.encode('utf-8')
b'\xe2\x80\x93'
>>> '\u2013'.encode('utf-8').decode('cp1252')
'–'
jmf
More information about the Python-list
mailing list