繁体   English   中英

如何在Python 2.7中使用UTF-8?

[英]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 ,因此必须遵循两个步骤:

  1. 确保您的控制台使用的是Lucidia控制台字体系列(其他字体无法正确显示UTF-8)。

  2. 键入chcp 65001 (这是ch安格c颂歌p岁),然后回车。

  3. 运行您的命令。

对于后续运行(一旦关闭cmd.exe窗口),您将不得不再次更改代码页。 字体应该是永久的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM