External javascript writes in latin-1
I'm a bit stuck, given my page includes an external JavaScript which uses document.write
. The problem is my page is UTF-8 encoded, and the contents written are encoded in latin-1, which causes some display problems.
Is there any wa开发者_运维技巧y to handle this ?
I have to admit never having had to mix encodings, but in theory you should be able to specify the charset
attribute (link) on the script
tag — but be sure you're not conflicting with it when serving the external file. From that link:
The
charset
attribute gives the character encoding of the external script resource...its value must be a valid character encoding name, must be an ASCII case-insensitive match for the preferred MIME name for that encoding, and must match the encoding given in thecharset
parameter of the Content-Type metadata of the external file, if any.
So that will tell the browser how to interpret the script data, provided your server provides the same charset
(or doesn't supply any charset
) in the Content-Type
header when serving up the script file.
Once the browser is reading the script with the right charset, you should be okay, because by the time JavaScript is dealing with strings, they're UTF-16 (according to Section 8.4 of the 5th edition spec).
精彩评论