从HTML到XHTML的转换会更改欧元符号,从而阻止正确的XML解析

时间:2013-10-21 11:08:38

标签: html xml parsing sax euro

我从HTML文件中提取信息,在Java中使用SAX解析它。解析程序是给我的,它已经在使用SAX,所以我想保持这种方式。 我的工作如下:

  • 我从网站上获取HTML文件
  • 使用JTidy库将其转换为有效的XML。但是,这个库将所有的€符号转换为“â,¬”--->我得到fileXHTML
  • 我将文件XHTML提供给解析库,因此我可以提取我想要的数据(编写处理程序,函数startElement(),characters()和endElement()。

问题:使用欧元符号的新字符串,解析库将无法运行。我收到消息:“实体acirc被引用但未声明

我只想让我的欧元符号不成问题。我如何排序我的东西?

谢谢大家,

2 个答案:

答案 0 :(得分:1)

您遇到的问题是编码问题。

管道中的某个工具正在破坏编码,然后向前传输该错误,在输出中创建â

从外观上看,该网站使用的是UTF-8(也应该如此),但编码要么是误报,要么是忽略声明。

是否是工具链中导致此问题的工具之一,或者是否滥用工具,并不完全清楚。

答案 1 :(得分:0)

使用HTML编号代替实际的欧元符号€