¿Por qué Firefox no procesa este HTML generado por AWstats?

¿Por qué Firefox no procesa este HTML generado por AWstats?

Error de análisis XML: ubicación mal formada:https://awstats.example.org/reports/www.example.org/2011/06/awstats.www.example.org.xmlLínea número 603, columna 34:

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

Lo anterior no es exactamente como se muestra gracias a la rareza de las rebajas; en su lugar, obtienes el cuadro de error Unicode de FFFF. No estoy seguro de por qué esto es un problema, ya que vim lo representa bien y el documento en sí dice

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

¿Hay alguna configuración en awstats que deba habilitar para manejar correctamente caracteres no estadounidenses?

Respuesta1

Puede cambiar awstats para usar 4.01 Transitional con la siguiente configuración:

(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

Respuesta2

Ese DOCTYPE indica al navegador que utilice XHTML Strict. XHTML dicta que si hay algún error en el documento, se debe mostrar un error en lugar de degradarlo con gracia. Esta es una de las principales razones por las que nadie utiliza XHTML (estricto). XHTML es una gramática para un documento XML. Como tal, cualquier documento XHTML válido también es un documento XML válido. La especificación XML no permite los bloques sustitutos Unicode 0xFFFE y 0xFFFF. Veraquí.

No sé si hay algo que puedas hacer para arreglar AWStats. Como prueba, puede intentar cambiar DOCTYPE a cualquier otro que no sea XHTML Strict. Pruebe HTML 4.01 o HTML5. Entonces, en lugar de mostrar nada más que un error, es posible que el navegador aún muestre algo. Intente reemplazar el carácter 0xFFFF con una referencia de entidad de carácter. En cualquier caso, me pregunto por qué tienes 0xFFFF ahí. Parece que se supone que es una e acentuada, que ciertamente no es 0xFFFF.

información relacionada