-1

データベースにデータを投稿しようとしていますが、キャンペーンは 6 つの言語で実行されています。1 つはロシア語で、キリル文字を処理できません。

前回のキャンペーンでもロシア語を使用していたため、DTB は UTF8 用にセットアップされていますが、jQuery はロシア語を使用していました。

$(document).ready(function ()
{
    $("#form").submit(function ()
    { //Use forms ID
        var str = $(this).serialize();
        $.ajax({
            type: "POST",
            url: "includes/postData.php",
            data: str,
            success: function (msg)
            {
                if (msg == 'OK')
                {
                    //alert('success');
                    $('#thankYou').delay(100).fadeIn(350);
                } else
                {
                    result = msg;
                    console.log(msg);
                }
            }
        });
        return false;
    });
});

私が得ているエラーは「不正な文字列値: '\xC3\x91\xC2\x80\xC3\x91...'」です。

で投稿データを編集してみました

$country = utf8_decode($_POST['country']);

DTB にあるすべての投稿。

このロシア語の投稿を正しく処理するように jQuery を取得するにはどうすればよいですか。どんな助けでも大歓迎です。

4

1 に答える 1

1

いくつかの試行錯誤、別のフォーラム、そしてたくさんのグーグルの後、私は解決策を見つけました. str 変数を decodeURI でラップします。

        var str1 = $(this).serialize();
        var str = decodeURI(str1);

これにより、jQuery が解析する URI 文字列が投稿データに修正されます

于 2013-08-15T17:46:56.553 に答える