>>> print u'ÐлÑбниÑнÑй новогодний пÑнÑ'.encode('latin1').decode('utf8')
Клубничный новогодний пунш
我不得不从原始帖子源中复制字符串,以捕获Mojibake中的所有非打印字节。
更好的方法是一开始就不要错误解码。使用UTF-8作为编解码器来解码原始文本。
如果您使用requests
下载页面,在这种情况下不要使用response.text
;如果服务器未指定编解码器,则HTTP RFC默认使用Latin-1,但HTML文档通常在<meta>
标头中嵌入编码。在这种情况下,将解码留给您的解析器,例如BeautifulSoup:
response = requests.get(url)
soup = BeautifulSoup(response.content) # pass in undecoded bytes