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。