Python Django和lxml中的解码问题
在使用部署的Django应用程序版本时,lxml有一个奇怪的问题。我使用lxml解析从服务器获取的另一个HTML页面。这在我自己的计算机上的开发服务器上运行得非常好,但出于某种原因,它在服务器上给了我Python Django和lxml中的解码问题,python,django,utf-8,lxml,decoding,Python,Django,Utf 8,Lxml,Decoding,在使用部署的Django应用程序版本时,lxml有一个奇怪的问题。我使用lxml解析从服务器获取的另一个HTML页面。这在我自己的计算机上的开发服务器上运行得非常好,但出于某种原因,它在服务器上给了我UnicodeDecodeError ('utf8', "\x85why hello there!", 0, 1, 'unexpected code byte') 我已经确保Apache(使用mod_python)使用LANG='en_US.UTF-8'运行 我已经尝试过用谷歌搜索这个问题,并尝试
UnicodeDecodeError
('utf8', "\x85why hello there!", 0, 1, 'unexpected code byte')
我已经确保Apache(使用mod_python)使用LANG='en_US.UTF-8'
运行
我已经尝试过用谷歌搜索这个问题,并尝试了不同的方法来正确解码字符串,但我无法找到答案
在您的回答中,您可能会假设我的字符串名为
hello
或其他什么。由于修改site.py不是一个理想的解决方案,请在程序开始时尝试以下方法:
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
“\x85why hello here!”不是utf-8编码的字符串。在将网页传递给lxml之前,您应该尝试对其进行解码。获取页面时,通过查看http头检查它使用了什么编码,也许您会发现问题所在。诸如
u“\x85why hello here!”之类的语法不存在吗?
帮助
您可能会发现官方Python文档中的以下资源非常有用: