字符解码失败。价值腐败

时间:2017-09-21 10:43:03

标签: javascript java jquery ajax urlencode

这是我的ajax电话:

function callServer()
{
    alert('before : ' +uncompressed64Data.length);
    var compressed = LZString.compressToUTF16(uncompressed64Data);
    alert('after : ' +compressed.length);

    debugger;
    jQuery.ajax({
        url : "/RegisterServlet_2/servlet/Register",
        type : "POST",
        data: "img="+compressed,
        cache : false,
        async : false,
        success : function()
        {

        },
        error : function()
        {
        }
    });

}

我在尝试错误地收到错误时收到以下错误:

字符解码失败。参数[img]的值为[Ảããå¥å?¢¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ä??à©?má¹?â?“被忽略了。请注意,由于解码失败,此处引用的名称和值可能已损坏。使用调试级别日志记录查看原始的,未损坏的值。

据透露, 1.我已经提到了html文件utf8的标题 2.server.xml提到

URIEncoding="UTF-8"

3.提到服务方,

request.setCharacterEncoding("utf-8");

请注意我不需要任何编码,我只想获取我发送的数据。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我认为由Content-Type引起的问题,默认情况下jquery使用application/x-www-form-urlencoded; charset=UTF-8。尝试将其设置为text/plainmultipart/form-data。这是documentation