[python-win32] drag&drop files with non-ASCII filenames?
R Schumacher
rays at blue-cove.com
Tue Dec 15 15:54:33 EST 2015
At 12:27 PM 12/15/2015, Tim Roberts wrote:
>Ulli Horlacher wrote:
> > On Tue 2015-12-15 (11:10), Tim Roberts wrote:
> >
> >>> I have a python 2.7 program which runs in a console window and
> upload files.
> >>> To specify the files, the user uses Windows drag&drop (via
> explorer) or copy&paste.
> >> This is hopeless. In addition to the normal difficulties in
> >> string/Unicode conversions, you have the added limitations of the
> >> current console code page. You simply cannot type characters in a
> >> Windows console that are not present in your current code page.
> > What is the current code page?
>
>The Windows console shell is an 8-bit entity. That means you only have
>256 characters available at any given time, similar to they way
>non-Unicode strings work in Python 2. The "code page" determines which
>256 you are using. You can type "chcp" to see the current code page.
>By default, you get code page 437, which derived from the original IBM
>PC character ROMs. You simply cannot type or display characters that
>are not in the current code page.
>
>Using msvcrt.getchw does not convert the console to a Unicode entity.
>It merely means the characters you DO get are represented in Unicode.
>
>The Windows console theoretically supports a UTF-8 code page (chcp
>65001), and it does fix many of these problems, but there are some
>console apps that won't like it.
It is 16 bits per character
There may be some confusion in that each code page is 256 codes
https://msdn.microsoft.com/en-us/library/ms686013%28v=vs.85%29.aspx
but pages can be switched at will
Windows chcp
https://technet.microsoft.com/en-us/library/bb490874.aspx
good discussion
http://illegalargumentexception.blogspot.com/2009/04/i18n-unicode-at-windows-command-prompt.html
My Win 7 console is US default 437
https://msdn.microsoft.com/en-us/library/dd317756%28v=vs.85%29.aspx
https://en.wikipedia.org/wiki/Win32_console#Windows_NT_and_Windows_CE
- Ray
More information about the python-win32
mailing list