-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

经过一些试验、错误、另一个论坛和大量谷歌,我找到了解决方案。将 decodeURI 包裹在 str 变量周围。

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

这修复了 jQuery 解析到 post 数据的 URI 字符串

于 2013-08-15T17:46:56.553 回答