Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Ajax发送错误的字符集_Php_Html_Ajax_Json_Character Encoding - Fatal编程技术网

Php Ajax发送错误的字符集

Php Ajax发送错误的字符集,php,html,ajax,json,character-encoding,Php,Html,Ajax,Json,Character Encoding,Ajax正在发送到PHP Ĺ&nbsp;asija-kabina 而不是 Šasija-kabina 而我却在任何地方声明了这个字符集。 在html文件的头部,我有以下内容: <meta charset="ISO-8859-2"> 这是我的ajax函数,其中“str”是一个json数组: function updateField(str, id, prevvalue, value, vehicletype){ $.ajax({ type: "ge

Ajax正在发送到PHP

Ĺ&nbsp;asija-kabina
而不是

Šasija-kabina
而我却在任何地方声明了这个字符集。 在html文件的头部,我有以下内容:

<meta charset="ISO-8859-2">
这是我的ajax函数,其中“str”是一个json数组:

function updateField(str, id, prevvalue, value, vehicletype){
    $.ajax({
        type: "get",
        url: "inc/ajax/form_rest.php",
        data: { q:str, prevvalue:prevvalue, value:value, vehicletype:vehicletype },
        contentType: "application/json;charset=latin2",
        success: function(html) {
                    $('#'+id).html(html);
                }
        })
        .done(function(){
            $("#"+id).removeAttr("disabled");
            if($("#"+id+" option").length == 2){
                $("#"+id).val($("#"+id+" option:last-child").val()).change();
            }
            if($("#"+id+" option:last-child").val() == ""){
                $("#"+id).attr("disabled", "disabled");
            }
        });
}

然而,我得到了错误的输出。有人能帮我吗?

是否使用外部javascript文件?我想您还需要设置包含javascript文件的字符集

<script src="myscripts.js" charset="latin2"></script>


但是我真的建议您在服务器端和客户端脚本上都使用UTF-8

是否为此使用外部javascript文件?我认为您还需要设置包含javascript文件的字符集

<script src="myscripts.js" charset="latin2"></script>


但我确实建议您在服务器端和客户端脚本上使用UTF-8,我认为您需要为字符集使用正确的ISO名称,例如更改:

contentType: "application/json;charset=latin2",


我还认为,在以后的项目中,使用UTF-8以外的任何东西都会给您带来更多麻烦,因为PHP中的json_编码实际上只支持UTF-8。

我认为您需要为字符集使用正确的ISO名称,例如更改:

contentType: "application/json;charset=latin2",


我还认为,在以后的项目中,使用UTF-8以外的任何东西都会给您带来更多的麻烦,因为PHP中的json_编码实际上只支持UTF-8。

我只是猜测一下,为什么UTF-8不行?UTF-8不行,我试过了。它显示问号我很确定您不能从
$.ajax
中设置
contentType
。这是我对contentType内容的来源:AndI尝试了你链接中所说的内容,但这些角色仍然会在黑钻石中显示问号。只是猜测,为什么utf-8不起作用?utf-8不起作用,我试过了。它显示问号我很确定您不能从
$.ajax
中设置
contentType
。这是我关于contentType的消息来源:AndI尝试了你链接中所说的内容,但这些角色仍然会在黑钻石中显示问号。幸运的是,这个解决方案也不起作用。。当我使用UTF-8时,它会在菱形中为那些字符显示问号,例如,在哪里显示问号?当您将数据发送回页面时?当我将头部的字符集更改为UTF-8时,它会将所有克罗地亚字符显示为黑色菱形中的问号。该网站本身是克罗地亚语的。我建议您阅读以下内容:虽然您可以将其用于拉丁语-2,但这仍将使您在将来与其他web服务交互时遇到困难。不幸的是,此解决方案也不起作用。。当我使用UTF-8时,它会在菱形中为那些字符显示问号,例如,在哪里显示问号?当您将数据发送回页面时?当我将头部的字符集更改为UTF-8时,它会将所有克罗地亚字符显示为黑色菱形中的问号。该网站本身是克罗地亚语的。我建议您阅读以下内容:尽管您可以将其与Latin-2一起使用,但这仍然会让您在将来与其他web服务交互时遇到困难。