Por que o Firefox não renderiza esse html gerado pelo AWstats?

Por que o Firefox não renderiza esse html gerado pelo AWstats?

Erro de análise de XML: local mal formado:https://awstats.example.org/reports/www.example.org/2011/06/awstats.www.example.org.xmlLinha Número 603, Coluna 34:

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

O que foi dito acima não é exatamente como é renderizado graças à estranheza da redução; em vez disso, você obtém a caixa de falha unicode do FFFF. Não sei por que isso é um problema, já que o vim o processa bem e o próprio documento diz

<?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">

Existe uma configuração no awstats que preciso ativar para lidar adequadamente com caracteres não americanos?

Responder1

Você pode mudar o awstats para usar 4.01 Transitional com a seguinte configuração:

(de 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

Responder2

Esse DOCTYPE instrui o navegador a usar XHTML Strict. XHTML determina que, se houver algum erro no documento, mostre um erro em vez de degradar normalmente. Esta é uma das principais razões pelas quais ninguém realmente usa XHTML (Strict). XHTML é uma gramática para um documento XML. Como tal, qualquer documento XHTML válido também é um documento XML válido. A especificação XML não permite os blocos substitutos Unicode 0xFFFE e 0xFFFF. Veraqui.

Não sei se há algo que você possa fazer para corrigir o AWStats. Como teste, você pode tentar alterar o DOCTYPE para algo diferente de XHTML Strict. Experimente HTML 4.01 ou HTML5. Então, em vez de dar nada além de um erro, o navegador ainda pode mostrar alguma coisa. Tente substituir o caractere 0xFFFF por uma referência de entidade de caractere. De qualquer forma, eu me pergunto por que você tem 0xFFFF aí. Parece que deveria ser um e acentuado, o que certamente não é 0xFFFF.

informação relacionada