You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AJAX GET请求异常:调用PHP脚本返回乱码问号求助

解决AJAX调用PHP返回问号的问题

这种乱码/问号问题我之前踩过坑,大概率是编码不匹配导致的,给你几个具体的排查和解决步骤:

  • 强制PHP输出编码
    你的PHP脚本只做了echo,但没有指定输出内容的编码,服务器可能用了默认的非UTF-8编码,和前端页面编码冲突就会出现乱码。修改你的PHP代码,加上编码声明:

    <?php
    header('Content-Type: text/html; charset=utf-8');
    echo "TEST";
    ?>
    
  • 统一前端页面编码
    确保你的HTML页面头部明确声明UTF-8编码,避免前端解析时出现编码偏差:

    <meta charset="UTF-8">
    

    同时可以在AJAX请求里明确指定接收数据的类型和编码,让jQuery更准确地解析返回内容:

    $.ajax({
      url: "test.php",
      type: "GET",
      contentType: "application/x-www-form-urlencoded; charset=utf-8",
      dataType: 'text',
      success: function(data) {
        console.log(data);
      },
      error: function (xml, error) {
        console.log(error);
      }
    });
    
  • 检查服务器默认编码
    如果上面两步还没解决,可能是服务器的默认编码设置问题:

    • 若是Apache服务器,可以在项目根目录的.htaccess文件中添加:AddDefaultCharset UTF-8
    • 若是Nginx服务器,在站点配置里添加:charset utf-8;

一般来说,前两步就能解决这个问号问题,核心就是保证前端页面、PHP输出、服务器返回的编码统一为UTF-8(无BOM)。

内容的提问来源于stack exchange,提问作者foo.doo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:11:55