MongoDB中的DateTime对象在对象定义中具有不可读的字符

时间:2013-05-21 03:42:05

标签: mongodb utf-8 character-encoding

每当我从MongoDB集合中获取数据时,其中一个字段都有一个DateTime对象,我就明白了:

object(DateTime�����w   )[359]
  public 'date' => string '2012-12-12 00:00:00' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'America/Caracas' (length=15)

我在浏览器中使用带有UTF-8字符集的var_dump输出时,使用print_r,xdebug_var_dump,访问公共方法...

如果我尝试输出其中一个公共属性的数据,我会收到此错误:

  

(file>)

中参数中的UTF-8序列无效

我正在使用MongoDB 2.4.3。

有什么建议吗?

编辑1:我认为这是与Symfony相关的问题,但我使用的是Mongo Shell,当我插入新条目时,我遇到同样的问题,所以问题不是来自Symfony ,然后它是无关紧要的,除非它与数据库模式是由Symfony创建的事实有关。

1 个答案:

答案 0 :(得分:0)

真正的问题是PHP 5.4的Mongo扩展安装有缺陷。我最终使用了Liip.ch's amazing PHP package for OS X,为我取代了MAMP。