我正在尝试在python 2.7中使用urllib2来从网上获取页面。该页面恰好以unicode(UTF-8)编码并具有希腊字符。当我尝试使用下面的代码获取并打印它时,我得到了胡言乱语而不是希腊字符。
import urllib2
print urllib2.urlopen("http://www.pamestihima.gr").read()
Netbeans 6.9.1和Windows 7 CLI中的结果相同。
我做错了什么,但是什么?
答案 0 :(得分:3)
Unicode 不 UTF-8。 UTF-8是一种字符串编码,如ISO-8859-1,ASCII等。
始终解码您的数据,以便从中获取真正的Unicode。 ('somestring in utf8'.decode('utf-8') == u'somestring in utf-8'
),unicode对象为u''
,而非''
当您的数据离开应用时,请始终以正确的编码编码。对于Web内容,这主要是utf-8
。对于控制台的东西,这是你的控制台编码。在Windows上,默认情况下不 UTF-8。
答案 1 :(得分:1)
它也适合我打印。
检查您正在查看HTML源代码的程序的字符编码。例如,在Linux终端中,您可以找到“设置字符编码”并确保它是UTF-8。