.load()杀死字符编码

puf*_*muf 5 jquery

我正在使用以下代码加载内容:

<script type="text/javascript">
    jQuery.noConflict();
    jQuery(document).ready(function(){
        jQuery('.content-div').load("all-events.html");     
    });
</script>
Run Code Online (Sandbox Code Playgroud)

但是,在没有UTF-8中我想要的特殊字符的情况下加载内容.有人提到它在我的代码的顶部:

$html = header('Content-Type: text/html; charset=utf-8'); 
Run Code Online (Sandbox Code Playgroud)

但是我只得到了这个错误:'标题未定义'.

puf*_*muf 7

感谢大家的帮助,但是我发现了什么问题.问题是添加headers到基本文本文件并没有改变它的实际编码.我在记事本中写了那个文件,无法检查编码是否正确.然后我打开它Notepad++并从该应用程序设置编码.希望有助于其他人在解决这个问题:)

  • 谢谢!我在Notepad ++中设置了'UTF-8无BOM'编码,它可以工作!:) (3认同)

小智 6

我遇到了同样的问题,但原始海报的接受答案没有帮助.做一个波纹管动作为我解决了它:

  1. 将检索到的文档的扩展名从".html"更改为".php".

  2. .htaccess使用以下内容将文件添加到主页的主目录:

    AddDefaultCharset UTF-8
    
    Run Code Online (Sandbox Code Playgroud)
  3. 以上两者的组合


更多关于这个问题:

使用Firebug检查响应和请求标头,可以看到服务器(Apache)返回以charset ISO-8859-1编码的内容.我需要的是UTF-8.

虽然所有文件都编码为UTF-8而没有BOM和

 header("Content-Type: text/html; charset=utf-8");
Run Code Online (Sandbox Code Playgroud)

在主.php文件中被调用,动态包含的.html文件.innerHTML已过滤掉其元素,因为jQuery使用浏览器的属性来解析检索到的文档并将其插入到当前文档中,如Mike Haboustak所述.有关更多详细信息,请参阅jQuery的文档load.