为什么Firefox不会渲染这个AWstats生成的html?

XML分析错误:格式不正确位置: https : //awstats.example.org/reports/www.example.org/2011/06/awstats.www.example.org.xml行号603,列34:

<tr><td class="aws">- Toile du Qu\uffffbec</td><td>363</td><td>363</td></tr>

以上是不是多亏了降价的奇怪,它如何呈现; 而是获得FFFF的unicode故障箱。 我不知道为什么这是一个问题,因为VIM使它很好,文件本身说

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

在awstats中是否需要启用正确处理非美国字符的设置?

您可以使用以下configuration切换awstats以使用4.01 Transitional:

(来自awstats.model.conf)

 # If you prefer having the report output pages be built as XML compliant pages # instead of simple HTML pages, you can set this to 'xhtml' (May not work # properly with old browsers). # Change : Effective immediatly # Possible values: html or xhtml # Default: html # BuildReportFormat=html 

DOCTYPE指示浏览器使用XHTML Strict。 XHTML规定,如果文档中有任何错误,则显示错误而不是优雅地降级。 这是没有人真正使用XHTML(严格)的一个主要原因。 XHTML是XML文档的语法。 因此,任何有效的XHTML文档也是有效的XML文档。 XML规范不允许Unicode代理块0xFFFE和0xFFFF。 看到这里 。

我不知道是否有什么可以修复AWStats。 作为一个testing,您可以尝试将DOCTYPE更改为XHTML Strict之外的其他任何东西。 试试HTML 4.01或HTML5。 然后,而不是给一个错误,但浏览器可能仍然显示一些东西。 尝试用字符实体引用replace0xFFFF字符。 无论如何,我想知道你为什么在那里有0xFFFF。 它看起来应该是一个重音e,这当然不是0xFFFF。