Join the AMA (Ask Me Anything) with the Firefox leadership team to celebrate Firefox 20th anniversary and discuss Firefox’s future on Mozilla Connect. Mark your calendar on Thursday, November 14, 18:00 - 20:00 UTC!

为提升您的使用体验,本站正在维护,部分功能暂时无法使用。如果本站文章无法解决您的问题,您想要向社区提问的话,请到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 提问,我们的支持社区将会很快回复您的疑问。

搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

Page info says "ISO-8859-1" but Firfox displays the page in UTF-8

  • 12 个回答
  • 31 人有此问题
  • 2 次查看
  • 最后回复者为 knorretje

more options

Only after manually changing the character encoding to ISO-8859-1 german Umlaute are correctly displayed.

Only after manually changing the character encoding to ISO-8859-1 german Umlaute are correctly displayed.

被采纳的解决方案

To see what http-headers a webserver is sending, you can use several programs, for example:

定位到答案原位置 👍 1

所有回复 (12)

more options

If there is a difference between the character encoding information from the page and from the headers then Firefox always uses the information from the headers. So normally this is a problem with the server configuration.
If you provide a link then we can see what the server is sending.
You can also post the headers on this forum if you want help with that.
It is also possible that an add-on or an external program is messing with encoding. You can try to start Firefox in the Safe Mode to see if that helps.

more options

Thank you for looking into the matter. No, I'm sorry I cant provide a link, as the page is on our intranet.

You wrote: If there is a difference between the character encoding information from the page and from the headers then Firefox always uses the information from the headers. How can I check for such a difference?

The header of the page contains a content="text/html; charset=ISO-8859-1" directive and page info says also ISO-8859-1.

As all characters are correctly displayed when I manually switch from UTF-8 to ISO-8859-1, I suppose there are no characters that might Firefox make think the encoding might not be what the header says.

Further more the default charset in "Preferences" is also set to ISO-8859-1. Gerhard

more options

选择的解决方案

To see what http-headers a webserver is sending, you can use several programs, for example:

more options

I will try it tomorrow as soon as I'm in my office.

Gerhard

more options

That usually happens if the server sends the file as UTF-8.
As posted above, Firefox ignores the meta header if the server send an encoding via the HTTP response headers.
In such a case you need to change the encoding yourself or contact the owner and ask them to setup the server correctly.

See also Tools > Page Info > General , also accessible via the right-click context menu on a web page.


more options

Thank you all!

Firefox ignores the meta header if the server send an encoding via the HTTP response headers., that describes the situation. I removed the line:

AddDefaultCharset UTF-8

from httpd.conf and Firefox displays the page correctly.

BUT: is this behavior (ignoring the meta headers) intentionally or is it a bug? The Apache directive is named "AddDefaultCharset" which suggests it would be only used as a default (if no encoding is specified?)

Gerhard

more options

This is intentional. The meta tag is only used if there is no reliable way to determine the encoding like based on a protocol. If there is reliable information because it is send over http, then that information must be used.
This AddDefaultCharset probably means that a content type of UTF-8 is sent if there is no content information on the server about a specific file. This is a serverside setting. A browser only looks at the http-headers that are actually sent. For the http specification the default content type is iso8859-1 if there is a missing header. But this should never happen because a webserver must always send proper content-type information.
https://developer.mozilla.org/en/HTML/Element/meta

more options

Thank you for your clarification!
Up to now I wasn't aware of the difference between a "raw HTTP header" and the meta-elements within the head-tag.
I re-inserted the "AddDefaultCharset UTF-8" directive in the config file and added a "header('Content-Type: text/html; charset=iso-8859-1');" statement to my script and it worked like you said! ;-)

Gerhard

more options

I read this thread, but I still find a problem.

There is a Google Blogger blog (not mine). The page header has a UTF-8 tag and always displaying on SO-8859-1, never obeying to the chosen character setting. As almost everyone know Blogger and for me this happens only with this blog as can be seen I wonder what can be wrong:

http://jose-pires-um-ser-livre.blogsopt.com/

This happens both on Firefox and IE. Every other blog displays properly for me. I don't think this will be from the server.

more options

@Straydog
That page is sent as ISO-8859-1
Like cor-el said: 'Firefox ignores the meta header if the server send an encoding via the HTTP response headers'.

more options

Yes knorretje, it makes me believe believe the page is sent as ISO-8859-1, but how can that be if Blogger always uses UTF-8, and as it seems that blog is hosted at Blogger? That is exactly why I don't understand. I can't believe Blogger makes n exception.

more options

@Straydog
The blog is not hosted at blogger but at blogsopt.com. They load stuff from blogger so it looks like its from blogger. I do not know why they do that or if blogger is allowing that. You will have to ask that to blogsopt and blogger. Please use the programs I mentioned before to see what is going on.