擅长:python、mysql、java
<blockquote>
<p>When I use the
sys.getdefaultencoding() I get the
output as "Cp1252"</p>
</blockquote>
<p>对此有两点看法:(1)是“cp1252”,不是“cp1252”。不要凭记忆打字。(2) 不管是谁造成的sys.getdefaultencoding()制作“cp1252”应该礼貌地告诉他们这不是一个好主意。在</p>
<p>至于剩下的,让我猜猜。您有一个<code>unicode</code>对象,其中包含一些泰米尔语文本。你错误地试图解码它。Decode意味着从<code>str</code>对象转换为<code>unicode</code>对象。不幸的是,您没有<code>str</code>对象,更不幸的是,您被python2中为数不多的awkish/perlish缺点所困扰:它试图通过使用系统默认编码对您的<code>unicode</code>字符串进行编码,从而生成一个<code>str</code>对象。如果是'ascii'或'cp1252',编码将失败。这就是为什么你得到一个Unicode*En*codererror而不是Unicode*De*codererror。在</p>
<p>简而言之:如果你真的想这么做的话,那就去做<code>text = testString.encode("utf-8")</code>。否则,请解释您要做什么,并向我们展示<code>print repr(testString)</code>的结果。在</p>