為什麼 Firefox 不渲染這個 AWstats 產生的 html?

為什麼 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>

由於 Markdown 的怪異,上面的內容並不完全是這樣呈現的;相反,您會得到 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 中的設定才能正確處理非美國字元嗎?

答案1

您可以透過以下配置將 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

答案2

此 DOCTYPE 指示瀏覽器使用 XHTML Strict。 XHTML 規定,如果文件中存在任何錯誤,則顯示錯誤而不是優雅地降級。這是沒有人真正使用 XHTML(嚴格)的主要原因之一。 XHTML 是 XML 文件的語法。因此,任何有效的 XHTML 文件也是有效的 XML 文件。 XML 規格不允許使用 Unicode 代理區塊 0xFFFE 和 0xFFFF。看這裡

我不知道您是否可以採取任何措施來修復 AWStats。作為測試,您可以嘗試將 DOCTYPE 變更為 XHTML Strict 以外的任何內容。嘗試 HTML 4.01 或 HTML5。然後,瀏覽器可能仍會顯示一些內容,而不是只給出錯誤。嘗試將 0xFFFF 字元替換為字元實體參考。無論如何,我想知道為什麼那裡有 0xFFFF 。看起來應該是重音 e,這肯定不是 0xFFFF。

相關內容