将数据从数据库回显到ajax时PHP损坏

将数据从数据库回显到ajax时PHP损坏,php,ajax,database,Php,Ajax,Database,我有这个问题,不知道是什么原因造成的。 当我从www.something.tld/index.html将数据加载到ajax时,我的ajax脚本就正常了。但是,当我从script.php加载数据时,它首先从db中检索数据,然后回显这些数据,我的ajax最终出错。但是数据输出是一样的!怎么了 例如: index.html输出为“XXX” script.php输出为“XXX”,但在我的脚本中,我使用以下命令生成数据: echo $data[0]->var; 知道为什么会这样吗?当我从数据库中检

我有这个问题,不知道是什么原因造成的。 当我从www.something.tld/index.html将数据加载到ajax时,我的ajax脚本就正常了。但是,当我从script.php加载数据时,它首先从db中检索数据,然后回显这些数据,我的ajax最终出错。但是数据输出是一样的!怎么了

例如: index.html输出为“XXX” script.php输出为“XXX”,但在我的脚本中,我使用以下命令生成数据:

echo $data[0]->var;
知道为什么会这样吗?当我从数据库中检索数据,然后将其回显时,就会发生这种情况

InternetExplorer说:ttm/canvas.1.03.jgz中的语法错误行281,字符163 这里是jgz的链接

我发现在php中使用anz函数时,ajax无法正确解析输出! 这被解析为ok:

$from ='05/17/2012 10:15:00';
  $to ='05/17/2012 10:30:00';
  $day ='5/17/2012';
echo '{ "dtstart": "'.$from.'", "dtend": "'.$to.'", "day": "'.$day.'" },';
这是未正确分析的:

$from= preg_replace('/[\x00-\x1F\x80-\xFF]/', '',$data[0]->time_from);
$to  = preg_replace('/[\x00-\x1F\x80-\xFF]/', '',$data[0]->time_to);
$day = preg_replace('/[\x00-\x1F\x80-\xFF]/', '',$data[0]->day);
$from ='05/17/2012 10:15:00';
  $to ='05/17/2012 10:30:00';
  $day ='5/17/2012';
echo '{ "dtstart": "'.$from.'", "dtend": "'.$to.'", "day": "'.$day.'" },';
如果您使用(就像您应该使用的那样),那么PHP将为您解决所有的编码难题。例如,转义那些不可打印的字符和超过0x7F的内容

echo json_encode(Array(
    "dtstart"=>$from,
    "dtend"=>$to,
    "day"=>$day
));

根据文件的编码,您可能需要先运行这些值,但这是您必须先测试然后再尝试的事情。

嘿,也许可以尝试发布一些代码,以及使用ajax获取数据时会出现哪些错误。。另外,您使用什么库通过ajax获取数据。您可以粘贴ajax调用代码,让我们确定可能的错误吗