jquery/ajax设置charset标头

nic*_*cky 1 javascript ajax jquery

我试图在一个jquery调用中设置charSet我正在制作的网站是一个立陶宛朋友,因此有一些带有重音符号的字母等.

至于我迄今为止的研究(2天值得!!!)已经显示,我需要将它放在beforeSend部分,我已经完成如下:

     $(document).ready(function(){
 $('.content').load('home.html');   //by default initally load text from boo.php
     $('#navlist a').click(function() { //start function when any link is clicked
                    $(".content").slideUp("slow");
                     var content_show = $(this).attr("title"); //retrieve title of link so we can compare with php file
                        $.ajax({
                        method: "load",url: ""+content_show,
                        beforeSend: function(){
                            XMLHttpRequest.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
                            $("#loading").show("fast");
                        }, //show loading just when link is clicked
                        complete: function(){ $("#loading").hide("fast");}, //stop showing loading when the process is complete
                        success: function(html){ //so, if data is retrieved, store it in html
                        $(".content").show("slow"); //animation
                        $(".content").html(html); //show the html inside .content div
                 }
             }); //close $.ajax(
     }); //close click(
 }); //close $(
Run Code Online (Sandbox Code Playgroud)

我试过把它换成

setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
Run Code Online (Sandbox Code Playgroud)

哪个也行不通,所以现在我陷入了困境,最后我已经四处寻找.

该网站可以在43dennis.co.nr/bivakas查看.基本上它加载了一堆方形黑色问号代替带有特殊口音的字母.

非常感谢您的帮助.

Bal*_*usC 5

由于安全限制,这不起作用.您需要在此JS运行的父页面中设置charset.JS/jQuery将使用相同的charset.

我查看了您网页的HTML,我看到以下内容:

<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Run Code Online (Sandbox Code Playgroud)

您需要更换iso-8859-1UTF-8,那么你就不需要在JS/jQuery的与它的麻烦.

我检查了您网页的HTTP响应标题,我看到以下内容:

Content-Encoding: gzip
Vary: Accept-Encoding
Date: Sun, 04 Jul 2010 13:37:08 GMT
Server: LiteSpeed
Connection: close
X-Powered-By: PHP/5.2.10
Content-Type: text/html
Content-Length: 600

200 OK

Content-Type缺少charset属性.您还需要在HTTP响应标头中设置相同的内容.在将任何字符发送到响应主体之前,将它放在PHP代码中.

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