在一个c++项目中,我们决定使用MongoDB数据库来存储我们应用程序的一些数据。我花了一周的时间链接和编译c++驱动程序,现在它已经开始工作了。但它有一个问题:字符串,如
bob.append("name", "some text with cyrilic symbols абвгд");错误添加,从数据库中提取后看起来像4-5个中文符号。
我没有找到在mongodb中使用unicode的文档,所以我无法理解如何将unicode写到数据库中。
发布于 2011-12-10 07:00:46
你的例子和example code in the C++ tutorial on mongodb.org在我的Ubuntu11.10上运行得很好。我的语言环境是en_US.UTF-8,我创建的源文件是UTF-8。
MongoDB将数据存储在BSON和BSON strings are UTF-8中,UTF8可以处理任何Unicode字符(包括西里尔字母)。我认为UTF假定字符串是C++ -8编码的,但我不确定。
以下是一些想法:
如果你上面的代码是
bob.append("name"...等)在C++源代码文件中,请尝试将该文件编码为UTF-8。https://stackoverflow.com/questions/7149771
复制相似问题