1

AjaxはPHPに送信しています

Ĺ asija-kabina

それ以外の

Šasija-kabina

私はどこでも文字セットを宣言しましたが。私はこれを持っているhtmlファイルの頭に:

<meta charset="ISO-8859-2">

PHPファイルで私はこれを持っています:

header('Content-Type: text/html; charset=latin2');

そして、これは「str」がjson配列である私のajax関数です:

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");
            }
        });
}

それにもかかわらず、私は間違った出力を得ています。誰でもこれで私を助けることができますか?

4

2 に答える 2

1

文字セットに正しい ISO 名を使用する必要があると思います。たとえば、次のように変更します。

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

contentType: "application/json;charset=ISO-8859-2",

また、PHP の json_encode は実際には UTF-8 しかサポートしていないため、UTF-8 以外のものを使用すると、プロジェクトの後半でさらに問題が発生することになると思います。

于 2013-06-28T02:12:36.413 に答える
0

これには外部のjavascriptファイルを使用しますか?、javascriptファイルを含めるために文字セットも設定する必要があると思います

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

ただし、サーバー側とクライアント側の両方のスクリプトで UTF-8 を使用することを強くお勧めします

于 2013-06-28T02:10:51.827 に答える