Javascript不显示非标准字符

时间:2012-08-15 13:44:09

标签: javascript html utf-8

所以这就是代码:

<script type="text/javascript" charset="UTF-8"> 
    function loadScript("http://www.qppstudio.net/individualdays/noscroll/2012-08-15.js") { 
        document.write('<script type="text/javascript" charset="UTF-8" src="', url, '">', '<', '/', 'script>'); 
    }   
</script>

包含在页眉中:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

页面显示unicode字符,对于发布的javascript写入页面的部分没有任何问题。在不同域之间下载时脚本是否以某种方式发生了变化?

1 个答案:

答案 0 :(得分:4)

可能。这是我第一次看到charset属性。我不确定你试图用它来实现什么。如果服务器向您发送带有iso-latin-1编码的文件,但您告诉浏览器该文件具有UTF-8编码,那会发生什么?浏览器不会将文件从一种编码转换为另一种编码;您可能希望的最好的是浏览器尝试将字节流解释为UTF-8,这将无效。

正确的解决方案是将服务器配置为在HTTP响应头中发送具有正确编码的文件。浏览器将查找此信息并使用此处指定的编码读取字节流。

不要忘记以正确的编码实际发送字节!这意味着:文件读取,复制到输出流+设置编码标题,一切都必须完美,否则你会有奇怪的错误。