[英]How to work with UTF-8 in Python 2.7?
我只想让UTF-8工作。 我尝试了这个:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
t = "одобрение за"
print t
但是,当我从命令行运行该程序时,输出如下所示:╨╛╨┤╨╛╨▒╤Ç╨╡╨╜╨╕╨╡
我已经在网上上下搜索,尝试了整个sys.setdefaultencoding的事情,尝试了调用encode()和encode(),尝试将小“ u”放在前面,尝试了unicode()等。
我正准备从挫败中爆发。 对于您该做什么,有没有明确的答案?
您的代码对我有用(tm)
In [1]: t = u"одобрение за"
In [2]: print t
одобрение за
确保您的终端支持UTF-8。 一种方法是检查LANG
env变量:
$ echo $LANG
en_US.UTF-8
另外,请尝试使用locale
命令。
$LANG/locale
只是告诉您在写入stdout / stderr时系统将使用什么。 测试终端是否支持UTF-8的最佳方法可能是在终端上打印一些内容,看看它是否正确。 像这样:
echo -e '\xe2\x82\xac'
您应该会得到一个€
。
如果没有,请尝试其他外壳...
由于您使用的是Windows cmd.exe
,因此必须遵循两个步骤:
确保您的控制台使用的是Lucidia控制台字体系列(其他字体无法正确显示UTF-8)。
键入chcp 65001
(这是ch
安格c
颂歌p
岁),然后回车。
运行您的命令。
对于后续运行(一旦关闭cmd.exe
窗口),您将不得不再次更改代码页。 字体应该是永久的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.