我发现Python中的unicode真的很麻烦,为什么Python没有为所有的字符串使用utf-8?我在中国,所以我必须使用一些不能用ascii表示的中文字符串,我用u''
来表示一个字符串,它在我的ubuntu机器中运行良好,但在另一个ubuntu机器(由linode.com提供的VPS)中运行,它有时会失败。错误是:Python unicode:为什么在一台机器上工作,但在另一台机器上却失败了?
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)
我使用的代码是:
self.talk(user.record["fullname"] + u"准备好了")
我不知道它会帮助,但你可以尝试添加`sitecustomize.py`文件到PYTHONPATH并把`import sys; sys.setdefaultencoding('utf-8')`在该文件中。 – khachik 2010-12-23 12:39:05
Python 3拥有unicode中的所有字符串。 – gruszczy 2010-12-23 12:44:43
你是什么意思“它有时会失败”,你的意思是相同的数据? – guival 2017-09-19 07:44:04