homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author oopos
Recipients oopos
Date 2009年01月15日.09:02:39
SpamBayes Score 0.0046477728
Marked as misclassified No
Message-id <1232010166.79.0.972664060868.issue4953@psf.upfronthosting.co.za>
In-reply-to
Content
Python 3.0 (r30:67507, Dec 3 2008, 20:14:27) [MSC v.1500 32 bit
(Intel)] on win32
---------------------------------------------
Hi,I user Python! 
 
 
UnicodeDecodeError	Python 3.0: G:\cgi\python\python.exe
Thu Jan 15 16:46:34 2009
A problem occurred in a Python script. Here is the sequence of function
calls leading up to the error, in the order they occurred.
 G:\webserver\xampp\cgi-bin\testupload.py in ()
 107 
 108 # get form
 109 opsform = cgi.FieldStorage()
 110 
 111 print ("<br>","form-data:","<br>",opsform,"<br>")
opsform undefined, cgi = <module 'cgi' from 'G:\cgi\python\lib\cgi.py'>,
cgi.FieldStorage = <class 'cgi.FieldStorage'>
 G:\cgi\python\lib\cgi.py in __init__(self=FieldStorage(None, None, []),
fp=None, headers={'content-length': '671631', 'content-type':
'multipart/form-data;
boundary=---------------------------9699301019407'}, outerboundary='',
environ=<os._Environ object at 0x00C90C50>, keep_blank_values=0,
strict_parsing=0)
 477 self.read_urlencoded()
 478 elif ctype[:10] == 'multipart/':
 479 self.read_multi(environ, keep_blank_values,
strict_parsing)
 480 else:
 481 self.read_single()
self = FieldStorage(None, None, []), self.read_multi = <bound method
FieldStorage.read_multi of FieldStorage(None, None, [])>, environ =
<os._Environ object at 0x00C90C50>, keep_blank_values = 0,
strict_parsing = 0
 G:\cgi\python\lib\cgi.py in read_multi(self=FieldStorage(None, None,
[]), environ=<os._Environ object at 0x00C90C50>, keep_blank_values=0,
strict_parsing=0)
 597 # Create bogus content-type header for proper multipart
parsing
 598 parser.feed('Content-Type: %s; boundary=%s\r\n\r\n' %
(self.type, ib))
 599 parser.feed(self.fp.read())
 600 full_msg = parser.close()
 601 # Get subparts
parser = <email.feedparser.FeedParser object at 0x00DD5650>, parser.feed
= <bound method FeedParser.feed of <email.feedparser.FeedParser object
at 0x00DD5650>>, self = FieldStorage(None, None, []), self.fp =
<io.TextIOWrapper object at 0x00BE3FB0>, self.fp.read = <bound method
TextIOWrapper.read of <io.TextIOWrapper object at 0x00BE3FB0>>
 G:\cgi\python\lib\io.py in read(self=<io.TextIOWrapper object at
0x00BE3FB0>, n=-1)
 1722 # Read everything.
 1723 result = (self._get_decoded_chars() +
 1724 decoder.decode(self.buffer.read(), final=True))
 1725 self._set_decoded_chars('')
 1726 self._snapshot = None
decoder = <encodings.gbk.IncrementalDecoder object at 0x00DB7AB0>,
decoder.decode = <built-in method decode of IncrementalDecoder object at
0x00DB7AB0>, self = <io.TextIOWrapper object at 0x00BE3FB0>, self.buffer
= <io.BufferedReader object at 0x00BE3F90>, self.buffer.read = <bound
method BufferedReader.read of <io.BufferedReader object at 0x00BE3F90>>,
final undefined
UnicodeDecodeError: 'gbk' codec can't decode bytes in position 157-158:
illegal multibyte sequence
 args = ('gbk',
b'-----------------------------9699301019407\r\n...-----------------------------9699301019407--\r\n',
157, 159, 'illegal multibyte sequence')
 encoding = 'gbk'
 end = 159
 object =
b'-----------------------------9699301019407\r\n...-----------------------------9699301019407--\r\n'
 reason = 'illegal multibyte sequence'
 start = 157
 with_traceback = <built-in method with_traceback of
UnicodeDecodeError object at 0x00DB7BF0>
l:\tmp_dir\tmpxyeojf.html contains the description of this error. 
-------------------------------------------
Hi,
I am newbie for python under the windows.
I find that the cgi module always work wrong for the binary files to upload.
I find that it cannot auto to discern the files' mode and alway use the
default mode : 'TEXT'.
So I want to change the sys.stdin 's mode to BINARY to support the
binary files.
I got this way:
 import msvcrt,os
 msvcrt.setmode(0,os.O_BINARY) # for stdin 
 msvcrt.setmode(1,os.O_BINARY) # for stdout
but it isn't work,too.
I know use C progam language can use this function:
 freopen("somefilename","mode","stdin or stdout") to redirect the file
flow.
Can every one help me ?
Best Regards
 oopos
I
History
Date User Action Args
2009年01月15日 09:02:47oopossetrecipients: + oopos
2009年01月15日 09:02:46oopossetmessageid: <1232010166.79.0.972664060868.issue4953@psf.upfronthosting.co.za>
2009年01月15日 09:02:45ooposlinkissue4953 messages
2009年01月15日 09:02:42ooposcreate

AltStyle によって変換されたページ (->オリジナル) /