Bruce Ferris <bferri...@bferris.co.uk> added the comment:

Victor, thanks for replying and I've had a quick read of everything that went 
on for issue #1602.  I think there's some misunderstanding in what I'm saying 
here.  Maybe this will help clear up what I'm saying...

  D:\>chcp
  Active code page: 850

  D:\>chcp 65001
  Active code page: 65001

  D:\>python27\python
  Python 2.7 (r27:82525, Jul  4 2010, 09:01:59) [MSC v.1500 32 bit 
  (Intel)] on win32
  Type "help", "copyright", "credits" or "license" for more information.
  >>> ^Z

  D:\>python31\python
  Fatal Python error: Py_Initialize: can't initialize sys standard
  streams
  LookupError: unknown encoding: cp65001

  This application has requested the Runtime to terminate it in an
  unusual way.
  Please contact the application's support team for more information.

  D:\>chcp 850
  Active code page: 850

  D:\>python31\python
  Python 3.1.2 (r312:79149, Mar 21 2010, 00:41:52) [MSC v.1500 32 bit
  (Intel)] on win32
  Type "help", "copyright", "credits" or "license" for more information.
  >>> ^Z

  D:\>

You see, I'm NOT trying to output any Unicode or UTF-8 characters.  All I'm 
trying to do is run different versions of Python on the same machine from the 
command line.

Some code inside Python now "break" if Python 3.1 is started with Code Page 
65001.

I fully understand the change between Python 2.7 and 3.1 were probably due to 
trying to fix issue #1602 (or some other related issue).

But, as a side-effect to that "fix", if you now start Python 3.1 (and maybe 
beyond) with code page set to 65001, it refuses to work but it didn't used to 
refuse to work.

Evidently, Python now tries using the Code Page as an encoding lookup.  But, it 
didn't used to in 2.7.  So, there's another compatability issue introduced.

Setting my cmd.exe code page to 65001 shouldn't mean a thing to Python if it 
can't associate it with an encoding.  It could, at least, just switch to 7-Bit 
ASCII and proceed on.  That would be better than failing!

That's my whole point.  If Python want to do some tweeking with code pages to 
get it's job done, that's fine by me, as long as it doesn't "break" and 
restores whatever code page I had set when I started it.

It's not down to a UTF-8 issue, it's about a compatability issue introduced 
sometime in the last year or so as a side-effect of trying to resolve a UTF-8 
issue, probably #1602.

That's all!

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue12632>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to