Hi, guys, I&#39;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 &#39;中文&#39;+ 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 &lt;module&gt;()</div><div>      1 # coding: utf-8</div><div><br></div><div>----&gt; 2 print &#39;中文&#39;+ 0</div><div>      3</div><div>      4</div><div>      5</div>
<div><br></div><div>TypeError: cannot concatenate &#39;str&#39; and &#39;int&#39; 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\&lt;ipython-input-2-fe74509ea0b3&gt; in &lt;module&gt;()</div><div>----&gt; 1 get_ipython().magic(u&quot;run t&quot;)</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>-&gt; 1894                 result = fn(magic_args)</div><div>   1895             # Ensure we&#39;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>-&gt; 1705                             runner(filename,prog_ns,prog_ns,exit_ignore=exit_ignore)</div>
<div>   1706 </div><div>   1707                 if opts.has_key(&#39;i&#39;):</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>-&gt; 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>-&gt; 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>--&gt; 147         exc_msg = dh.session.send(dh.pub_socket, u&#39;pyerr&#39;, 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>--&gt; 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>--&gt; 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 &lt;lambda&gt;(obj)</div><div>     73 #-----------------------------------------------------------------------------</div><div>
<br></div><div>     74 key = &#39;on_unknown&#39; if jsonapi.jsonmod.__name__ == &#39;jsonlib&#39; else &#39;default&#39;</div><div>---&gt; 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     &quot;&quot;&quot;</div>
<div>---&gt; 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>--&gt; 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: &#39;ascii&#39; codec can&#39;t decode byte 0xd6 in position 198: ordinal not in range(128)</div></div>