Javascript 如何使用࿽;(引号方框)

Javascript 如何使用࿽;(引号方框),javascript,ajax,encoding,utf-8,utf,Javascript,Ajax,Encoding,Utf 8,Utf,当我试图从ajax请求中获取html时,我得到了多个�. 这是为什么?如何纠正 $.ajax ({ type: 'POST', url: Generic.ajaxSluice, dataType: "html", data: { param: paramArr }, success:function(response) {

当我试图从ajax请求中获取html时,我得到了多个�. 这是为什么?如何纠正

    $.ajax
    ({
        type: 'POST',
        url: Generic.ajaxSluice,
        dataType: "html",
        data:
        {
            param: paramArr
        },
        success:function(response)
        {
            console.log(response);
        }
    });
此代码在控制台中为我提供以下响应:


[[”������������������������...����������������������0“,”./upload/images/Untitled-2.png“],[“1”,“./upload/images/j.png”],[“2”,“./upload/images/peppe.png”],[”�����������������������������������������"]]

AJAX需要UTF-8。它甚至不是可选的。从手册页面:

W3CXMLHttpRequest规范规定字符集是 始终为UTF-8;指定另一个字符集不会强制浏览器 更改编码

因此,服务器端代码需要读写UTF-8.Period


验证服务器是否生成UTF-8的一种方法是键入一个已知字符(我经常使用
符号),然后查看是否获得预期的字节(
e282 AC

  • 从服务器(PHP)可以使用→ <代码>e282ac
  • 从客户端(JavaScript)可以使用→ <代码>%E2%82%AC

如果你碰巧看到很多零值,你不知怎么得到了。这是一个不可打印的控制代码,应该只出现在二进制文件上(而不是文本上)。这揭示了一个不同的问题。

您似乎有编码问题。您可以尝试在页面和AJAX源代码响应上使用
UTF-8
。是的,我认为这可能是编码问题。我本可以提到,我实际上已经尝试转换为UTF-16并返回UTF-8,以确保它是UTF-8。但事实并非如此真的帮助。还有什么吗?从什么到UTF-16?你能发布你的服务器端代码吗?这个问题还没有解决:s感谢你的尝试thoughcontentType(默认值:'application/x-www-form-urlencoded;charset=UTF-8')UTF-8是默认值,我没有在我的请求中指定它。php是否有问题,如果有问题,我如何在php中更改它?您可以使用此技术的任何编码:@kristoferfriselljarnevid这里重要的是您的服务器实际使用的编码。@kristoferfriselljarnevid声明您的编码是一回事。实际的只需键入一个已知字符(例如,
),然后查看是否得到预期的字节(
e282ac
)。@blex根据jQuery文档,这只在某些浏览器中最适合。