![Почему Firefox не отображает этот HTML-код, сгенерированный AWstats?](https://rvso.com/image/593930/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83%20Firefox%20%D0%BD%D0%B5%20%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B0%D0%B5%D1%82%20%D1%8D%D1%82%D0%BE%D1%82%20HTML-%D0%BA%D0%BE%D0%B4%2C%20%D1%81%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9%20AWstats%3F.png)
Ошибка анализа 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. Я не уверен, почему это проблема, так как 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 (Strict). XHTML — это грамматика для XML-документа. Таким образом, любой допустимый XHTML-документ также является допустимым XML-документом. Спецификация XML не допускает суррогатные блоки Unicode 0xFFFE и 0xFFFF. Смотритездесь.
Я не знаю, можно ли что-то сделать, чтобы исправить AWStats. В качестве теста вы можете попробовать изменить DOCTYPE на что-то другое, кроме XHTML Strict. Попробуйте HTML 4.01 или HTML5. Тогда вместо того, чтобы выдавать только ошибку, браузер все равно может что-то показать. Попробуйте заменить символ 0xFFFF ссылкой на сущность символа. В любом случае, мне интересно, почему у вас там 0xFFFF. Похоже, что это должно быть ударение e, которое определенно не 0xFFFF.