代码之家  ›  专栏  ›  技术社区  ›  Loïc MICHEL

Internet Explorer 6:Ajax请求上未显示欧元符号

  •  0
  • Loïc MICHEL  · 技术社区  · 15 年前

    我使用jquery 1.4.2向PHP页面发送Ajax请求,然后显示结果。

    这与ff3和ie8很好,但在ie6中,字符_ ,我试图使用header()强制对php页面进行字符编码,但它不起作用…

    我正在使用Zend Studio for Eclipse的Windows(Projet编码是UTF-8)

    以下是Ajax调用:

    $.ajax({
      url:'index.php?module=ajax&action=getCommande&no-header=1&id='+id ,
      cache:true,
      success:function(html){
        $("#recap_commande").html(html);
      }
    });
    

    请求的页面:

    <?php
    header('Content-type: text/html; charset=utf-8');
    echo "Récapitulatif de la demande " . $_GET ['id'] . " (".$this->getTotal($nb["COD_ART"],$nb["COD_OPTION"])." €) ";
    ?>
    

    任何帮助都将不胜感激。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Darin Dimitrov    15 年前

    我建议您避免像这样连接参数。使用 data 这样散列以便jquery处理正确编码的url值:

    $.ajax({
        url: 'index.php',
        cache: true,
        data: { module: 'ajax', action: 'getCommande', no-header: '1', id: id },
        success: function(html) {
            $('#recap_commande').html(html);
        }
    });
    

    同时确保您的页面 utf-8 encoded .

        2
  •  0
  •   Loïc MICHEL    15 年前

    抱歉,这是一个特定的计算机问题,欧元符号正确显示在另一台具有相同操作系统和IE6的计算机上…

    我不知道问题是从哪里来的,我试图清空缓存还是一样的… 当提醒Ajax响应时,_???

    如果没有这个愚蠢的IE6,我的生活会简单得多!