搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

Learn More

HTML page content type has charset=iso-8859-1 but document.characterSet is 'UTF-8'

more options

Hi,

I'm a web developer and I have an issue document.characterSet property from DOM API has an incorrect value on a non UTF-8 page

Firefox version: 95.0.2

1. HTML page is returned with following content-type content-type: text/html; charset=iso-8859-1

2. JavaScript code in the page reads document.characterSet property

Expected characterSet value is "ISO-8859-1"

Actual characterSet value is "UTF-8"

Thanks and regards,

Hi, I'm a web developer and I have an issue document.characterSet property from DOM API has an incorrect value on a non UTF-8 page Firefox version: 95.0.2 1. HTML page is returned with following content-type content-type: text/html; charset=iso-8859-1 2. JavaScript code in the page reads document.characterSet property Expected characterSet value is "ISO-8859-1" Actual characterSet value is "UTF-8" Thanks and regards,

所有回覆 (2)

more options

What encoding does the server send ?

If the server sends encoding "UTF-8" then that prevails and Firefox ignores a possible specification in the actual file for security reasons.

more options

I observed this behavior while working on a customer incident. The server responds with a content-type header which is "text/html; charset=iso-8859-1"

I tried to reproduce on a sample but in my test, I get the expected "window-1252".

However, if the response body contains an UTF-8 BOM, content-type header is ignored and document characterSet is "UTF-8"

Here is a small sample https://glitch.com/edit/#!/document-charset

Is this the intended behavior?