Message
Your feed appears to be encoded as “this
”, but your server is reporting “that
”
Explanation
The XML appears to be using one encoding, but the HTTP headers from the
web server indicate a different charset. Internet standards require that the
web server's version takes preference, but many aggregators ignore this.
Note that, if you are serving content as 'text/*
', then
the default charset is US-ASCII, which is probably not what you want.
(See
RFC 3023 for technical details.)
RSS feeds should be served as application/rss+xml
(RSS 1.0 is an RDF format, so it may be served as
application/rdf+xml
instead).
Atom feeds should use application/atom+xml
.
Alternatively, for compatibility with widely-deployed web browsers, any of
these feeds can use one of the more
general XML types - preferably application/xml
.
Another possible cause is the use of single quotes to delimit the charset parameter in the http header, whereas the http definition of Basic Rules only permits the use of double quotes. The result is somewhat confusing messages such as:
Your feed appears to be encoded as “utf-8”, but your server is reporting “'utf-8'”
Solution
Either ensure that the charset parameter of the HTTP Content-Type header matches the
encoding
declaration, or ensure that the server makes no claims
about the encoding. Serving the feed as application/xml
means
that the encoding will be taken from the file's declaration.
The W3C has published information on how to set the HTTP charset parameter with various popular web servers.
If you are unable to control your server's charset declaration, Character and Entity References may be used to specify the full range of Unicode characters in an feed served as US-ASCII.
Not clear? Disagree?
You might be able to find help in one of these fine resources.