【发布时间】:2013-03-05 02:30:05
【问题描述】:
我从文件中获取数据:
words = re.findall(r'[\w]+',self._from.encode('utf8'),re.U)
如果文件包含:
嗨,你好吗?
那么结果将是:
['嗨','怎么样','是','你']
但如果文件包含俄语(即西里尔符号),则:
Привет, как дела?
在这种情况下,结果是:
['\xd0', '\xd1', '\xd0', '\xd0\xb2\xd0\xb5\xd1', '\xd0\xba\xd0', '\xd0\xba', '\xd0', '\xd0\xb5\xd0', '\xd0']
为什么?什么? 我已经添加了:
sys.setdefaultencoding('utf-8')
我正在使用 python2.7 和 linux ubuntu。
答案:
words = re.findall(r'[\w]+',self._from.decode('utf8'),re.U)
print u" ".join(words)
【问题讨论】: