擅长:python、mysql、java
<p>因为这里<code>str(u'\u2013')</code>会导致错误,所以使用<code>isinstance(foo,basestring)</code>检查unicode/string,如果不是base string类型,则将其转换为unicode,然后应用encode</p>
<pre><code>if isinstance(foo,basestring):
foo.encode('utf8')
else:
unicode(foo).encode('utf8')
</code></pre>
<p><a href="https://stackoverflow.com/questions/1979004/what-is-the-difference-between-isinstanceaaa-basestring-and-isinstanceaaa/1979107#1979107">further read</a></p>