编码/解码在浏览器中有效,但在终端中无效
这是我的代码:
import urllib
print urllib.urlopen('http://www.indianexpress.com/news/heart-of-the-deal/811626/').read().decode('iso-8859-1')
当我在 Firefox 中查看页面时,文本显示正确。但是,在终端上,我发现字符编码存在问题。
以下是一些格式错误的输出示例:
long-term in Indias no-go areas
如何修复此问题?
Here's my code:
import urllib
print urllib.urlopen('http://www.indianexpress.com/news/heart-of-the-deal/811626/').read().decode('iso-8859-1')
When I view the page in Firefox, the text is displayed correctly. However, on the terminal, I see issues with character encoding.
Here are some malformed output examples:
long-term in Indias no-go areas
How can I fix this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个(忽略未知字符)
Try this (ignore unknown chars)
您需要使用服务器发送的实际字符集,而不是始终假设它是 ISO 8859- 1.使用功能强大的 HTML 解析器(例如 Beautiful Soup)会有所帮助。
You need to use the actual charset sent by the server instead of always assuming it's ISO 8859-1. Using a capable HTML parser such as Beautiful Soup can help.
网页撒谎;它以
cp1252
又名windows-1252
编码,而不是 ISO-8859-1。The web-page lies; it is encoded in
cp1252
akawindows-1252
, NOT in ISO-8859-1.