HTTP header. Invalidity of setting charset in html.

Can anyone explain the rationale for the charset specified by the http
header over-riding that in the document during validation (and
browsing).  It would seem reasonable for the document to override the
server setting.  Otherwise there seems no point, it is logically
invalid, to specify the charset in the xml declaration and html
header.  It seems idiotic for the server to defeat the document
author.

My document starts like this:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
....
      <meta http-equiv="Content-Type"
            content="text/html; charset=utf-8" />
....
</head>

The message I get from check-referer is:

"Character encoding mismatch!  The character coding specified in the
HTTP header (iso-8859-1) is different from the value in the XML
declaration (utf-8).  I will use the value in the HTTP header
(iso-8859-1)."

I can't see any point in this.  It means that setting a charset in the
xml declaration or the html header is necessarily a redundant and
strictly invalid operation.

If I use the override on validator it gives a tentative validation and
screams about fixing my crappy utf-8 doc by turning it into gemuine
iso-8859-1.

And, incidentally, I've been unable to discover in the source, the
config file or the docs how to set the charset in the header.  I have

     AddCharset utf-8 .en .html

for the virtual host and see no complaint in the log file.  (Using
Apache 1.3.14.)

Hope someone can help.  Thanks.

-- 
Mike TALBOT-WILSON

Received on Wednesday, 15 September 2004 09:14:58 UTC