php echo和echo json_encode返回奇怪的字符

时间:2013-06-11 05:21:05

标签: php ajax json mongodb

所以我用xampp在Windows上用PHP和MongoDB开发了一些东西,我将我的php文件移到linux mint,它用php cgi 5.4运行apache2。

在我将文件(不更改)移动到linux之后,php在每次响应后都开始返回这些奇怪的字符。

echo 'success';

响应就像这样

sucess����������������

转换时看起来像这样

sucess�

似乎它们被附加到所有内容的末尾,这里是使用firebug的响应的屏幕截图(仅限图片的左侧)

Link to the Image

此外,mongod开始回应一些从未出现在Windows上的错误(图片右侧供参考)。

我不使用任何特殊字符,语言,编码,也不使用任何特殊字符。

有没有人经历过这样的事情?

1 个答案:

答案 0 :(得分:-1)

Mongo将所有字符串存储为utf-8,并期望它们按原样传递。在从mongo获取数据之前,只需将数据转换为utf-8即可。