在使用 Mongodb 2.0.6 之前,一切都很好。
最近,我开始在Java Play框架中使用 Mongodb 2.4.8 ,我发现当我尝试将中文保存到mongodb时,mongodb实际上存储为一些不可读的字符串,例如&\#21457;&\#29983;,网上显示的是相同的字符串,有什么知道为什么吗?

我应该怎么办?如何将其转换为可读的中文?

最佳答案

从您发布的内容来看,我怀疑这可能是Play框架的产物,因为这两个字符都可以直接存储在MongoDB中。

> db.test1.insert({x:"𡑗 and 𩦃"})
> db.test1.find();
{ "_id" : ObjectId("52a12237e7c9d6190f6feb95"), "x" : "𡑗 and 𩦃" }

假设您上面发布为&#21457和&#29983的字符确实是𡑗和𩦃,那么我怀疑Play框架会将它们转换为它们的扩展unicode值的表示形式。在这种情况下,这两个字符将来自“CJK统一表意文字扩展B”部分。

您可以在此处查看整个字符集:http://codepoints.net/cjk_unified_ideographs_extension_b

这似乎与play-framework Google组中的here类似。

10-07 12:21
查看更多