这里是我的代码:Python的机械化:编码会导致奇怪的字符
import re
import mechanize
br = mechanize.Browser()
br.open("http://www.douban.com/")
print br.title()
我参观的是一个中国网站,但返回的标题是性格怪异,
我怎么能固定这个问题?
这里是我的代码:Python的机械化:编码会导致奇怪的字符
import re
import mechanize
br = mechanize.Browser()
br.open("http://www.douban.com/")
print br.title()
我参观的是一个中国网站,但返回的标题是性格怪异,
我怎么能固定这个问题?
这是因为charset问题。例如,在Python 3.X:
>>> print("豆瓣".encode("utf8").decode('gbk'))
璞嗙摚
换句话说,thte内容 “豆瓣” 从serive被编码在字符集 “UTF8”。但是你的客户尝试将它显示为字符集“gbk”。为了解决这个问题,你需要在这两个不同的字符集之间传送内容,比如br.title()。encode('gbk')。decode(“utf8”)
如果你只是做br.title()
它会给你特殊字符的Unicode字符串。
print
尝试通过编码Unicode字符串来显示非ASCII字符。
你能否给我们一个奇怪的字符,通过使用repr(br.title())?另请提供原创中文内容。 – Sheng
@盛:正确的标题应该是'豆瓣',但奇怪的字符是'璞嗙摚',这不是我想要的 – hh54188