Hi, guys, I'm a new user with python 2.7 + win7 64bit + ipython + QT console. now I found that when I run this script:<div><br></div><div><div><div><div># coding: utf-8</div><div>print '中文'+ 0</div></div></div>
</div><div><br></div><div>when run this script in cmd console</div><div><div><div>---------------------------------------------------------------------------</div><div>TypeError Traceback (most recent call last)</div>
<div>D:\WORK\project management\NewPostAlert\t.py in <module>()</div><div> 1 # coding: utf-8</div><div><br></div><div>----> 2 print '中文'+ 0</div><div> 3</div><div> 4</div><div> 5</div>
<div><br></div><div>TypeError: cannot concatenate 'str' and 'int' objects</div></div><div><br></div><div>but in the qt console, it seems crash when print the source code which include non english character,</div>
</div><div>the UnicodeDecodeError was thrown,so is there missed some decode thing?</div><div><br></div><div><div>---------------------------------------------------------------------------</div><div>UnicodeDecodeError Traceback (most recent call last)</div>
<div>D:\WORK\project management\NewPostAlert\<ipython-input-2-fe74509ea0b3> in <module>()</div><div>----> 1 get_ipython().magic(u"run t")</div><div><br></div><div>D:\Python27\lib\site-packages\ipython-0.11-py2.7.egg\IPython\core\interactiveshell.pyc in magic(self, arg_s, next_input)</div>
<div> 1892 self._magic_locals = sys._getframe(1).f_locals</div><div> 1893 with self.builtin_trap:</div><div>-> 1894 result = fn(magic_args)</div><div> 1895 # Ensure we're not keeping object references around:</div>
<div><br></div><div> 1896 self._magic_locals = {}</div><div><br></div><div>D:\Python27\lib\site-packages\ipython-0.11-py2.7.egg\IPython\core\magic.pyc in magic_run(self, parameter_s, runner, file_finder)</div>
<div> 1703 else:</div><div> 1704 # regular execution</div><div><br></div><div>-> 1705 runner(filename,prog_ns,prog_ns,exit_ignore=exit_ignore)</div>
<div> 1706 </div><div> 1707 if opts.has_key('i'):</div><div><br></div><div>D:\Python27\lib\site-packages\ipython-0.11-py2.7.egg\IPython\core\interactiveshell.pyc in safe_execfile(self, fname, *where, **kw)</div>
<div> 2198 self.showtraceback(exception_only=True)</div><div> 2199 except:</div><div>-> 2200 self.showtraceback()</div><div> 2201 </div><div> 2202 def safe_execfile_ipy(self, fname):</div>
<div><br></div><div>D:\Python27\lib\site-packages\ipython-0.11-py2.7.egg\IPython\core\interactiveshell.pyc in showtraceback(self, exc_tuple, filename, tb_offset, exception_only)</div><div> 1560 </div><div> 1561 # Actually show the traceback</div>
<div><br></div><div>-> 1562 self._showtraceback(etype, value, stb)</div><div> 1563 </div><div> 1564 except KeyboardInterrupt:</div><div><br></div><div>D:\Python27\lib\site-packages\ipython-0.11-py2.7.egg\IPython\zmq\zmqshell.pyc in _showtraceback(self, etype, evalue, stb)</div>
<div> 145 # Send exception info over pub socket for other clients than the caller</div><div><br></div><div> 146 # to pick up</div><div><br></div><div>--> 147 exc_msg = dh.session.send(dh.pub_socket, u'pyerr', exc_content, dh.parent_header)</div>
<div> 148 </div><div> 149 # FIXME - Hack: store exception info in shell object. Right now, the</div><div><br></div><div><br></div><div>D:\Python27\lib\site-packages\ipython-0.11-py2.7.egg\IPython\zmq\session.pyc in send(self, stream, msg_or_type, content, parent, ident, buffers, subheader, track)</div>
<div> 494 </div><div> 495 buffers = [] if buffers is None else buffers</div><div>--> 496 to_send = self.serialize(msg, ident)</div><div> 497 flag = 0</div><div> 498 if buffers:</div>
<div><br></div><div>D:\Python27\lib\site-packages\ipython-0.11-py2.7.egg\IPython\zmq\session.pyc in serialize(self, msg, ident)</div><div> 404 content = self.none</div><div> 405 elif isinstance(content, dict):</div>
<div>--> 406 content = self.pack(content)</div><div> 407 elif isinstance(content, bytes):</div><div> 408 # content is already packed, as in a relayed message</div><div><br></div><div>
<br></div><div>D:\Python27\lib\site-packages\ipython-0.11-py2.7.egg\IPython\zmq\session.pyc in <lambda>(obj)</div><div> 73 #-----------------------------------------------------------------------------</div><div>
<br></div><div> 74 key = 'on_unknown' if jsonapi.jsonmod.__name__ == 'jsonlib' else 'default'</div><div>---> 75 json_packer = lambda obj: jsonapi.dumps(obj, **{key:date_default})</div><div> 76 json_unpacker = lambda s: extract_dates(jsonapi.loads(s))</div>
<div> 77 </div><div><br></div><div>D:\Python27\lib\site-packages\zmq\utils\jsonapi.pyc in jsonlib_dumps(o, **kwargs)</div><div> 65 See jsonlib.dumps for details on kwargs.</div><div> 66 """</div>
<div>---> 67 return _squash_unicode(jsonmod.dumps(o,**kwargs))</div><div> 68 </div><div> 69 def dumps(o, **kwargs):</div><div><br></div><div>D:\Python27\lib\site-packages\jsonlib.pyc in write(value, sort_keys, indent, ascii_only, coerce_keys, encoding, on_unknown)</div>
<div> 801 validate_on_unknown (on_unknown),</div><div> 802 SerializerErrorHelper (),</div><div>--> 803 <span class="Apple-tab-span" style="white-space:pre">        </span> UserString, Decimal)</div>
<div> 804 </div><div> 805 dumps = write</div><div><br></div><div>UnicodeDecodeError: 'ascii' codec can't decode byte 0xd6 in position 198: ordinal not in range(128)</div></div>