Python中的Unicode libxml2

问题描述:

我有一个问题我试图测试xhtml文档中的搜索功能。搜索应该支持阿拉伯文和英文文本。我是python和libxml2的新手,所以我很难搞清楚如何去做。Python中的Unicode libxml2

尽管在线工具(如http://www.freeformatter.com/xpath-tester.html#ad-output)会返回我需要的确切结果,但我总是会得到一个带有阿拉伯文字的空白结果(英文,它完美地起作用)。

import libxml2 

doc = libxml2.parseFile("content.xhtml") 

ctxt = doc.xpathNewContext() 

xPathQuery = "//*[contains(text(), 'تجربة')]" 

res = ctxt.xpathEval(xPathQuery) 

doc.freeDoc() 
ctxt.xpathFreeContext() 

也使用Unicode字符串没有工作:

xPathQuery = u"//*[contains(text(), 'تجربة')]" 

甚至:

xPathQuery = u"//*[contains(text(), 'تجربة')]" 
res = ctxt.xpathEval(xPathQuery.encode('utf-8')) 
+0

雅我做了,我刚刚更新了问题。仍然不起作用,thanx :) – 2014-09-28 14:54:25

它竟然是用代码文件编码本身的问题,我救了它在Unicode和它的工作。