Mongo客户端RedHat EL5 UT8支持

# mongo MongoDB shell version: 1.6.4 Fri Mar 16 11:55:46 *** warning: spider monkey build without utf8 support. consider rebuilding with utf8 support connecting to: test 

Mongo Server似乎处理utf8字符,以及我的php-mongo-client驱动程序。

但是,当我尝试从mongo命令行客户端查询具有utf8字符的logging时,我得到:

 > db.Users.find({age:33}); error:non ascii character detected Fri Mar 16 11:55:43 mongo got signal 11 (Segmentation fault), stack trace: Fri Mar 16 11:55:43 0x440b50 0x3664c302d0 0x3f47e7b6e0 0x3f47e83bbd 0x3f47e254f3 0x3f47e25660 0x3f47e256ee 0x3f47e25792 0x3f47e2876e 0x4b031d 0x443b72 0x445476 0x3664c1d994 0x43fd39 mongo(_Z12quitAbruptlyi+0x3b0) [0x440b50] /lib64/libc.so.6 [0x3664c302d0] /usr/lib64/libjs.so.1 [0x3f47e7b6e0] /usr/lib64/libjs.so.1(js_CompileTokenStream+0x3d) [0x3f47e83bbd] /usr/lib64/libjs.so.1 [0x3f47e254f3] /usr/lib64/libjs.so.1(JS_CompileUCScriptForPrincipals+0x60) [0x3f47e25660] /usr/lib64/libjs.so.1(JS_EvaluateUCScriptForPrincipals+0x3e) [0x3f47e256ee] /usr/lib64/libjs.so.1(JS_EvaluateUCScript+0x22) [0x3f47e25792] /usr/lib64/libjs.so.1(JS_EvaluateScript+0x6e) [0x3f47e2876e] mongo(_ZN5mongo7SMScope4execERKSsS2_bbbi+0xed) [0x4b031d] mongo(_Z5_mainiPPc+0x14a2) [0x443b72] mongo(main+0x26) [0x445476] /lib64/libc.so.6(__libc_start_main+0xf4) [0x3664c1d994] mongo(__gxx_personality_v0+0x269) [0x43fd39] 

任何想法或build议将受到欢迎

mongo版本1.6.4由包pipe理系统安装,包括mongo init脚本。

我提出的解决scheme是从http://www.mongodb.org/downloads下载最新的Mongo(2.0.3)二进制文件。 然后,我用我下载的rpm /usr/binreplace了所有的二进制文件。

现在一切都完美了!

刚刚有同样的问题。 Ubuntu上的MongoDB shell版本:1.8.2 (EC2)

> db.tweets.find();

错误:未检测到ascii字符

通过发出命令来检查我运行的是哪个版本的MongoDB:

$ mongod –version

db版本v1.8.2 ,pdfile版本4.5 – 星期三10月24日15:43:13 git版本:nogitversion

确认 mongo目前是否在运行:

$ ps -deaf | grep mongod

mongodb 15408 1 0 Jun06? 13:50:00 / usr / bin / mongod –config /etc/mongodb.conf

closuresMongoDB

$ ./mongo

>使用pipe理员

> db.shutdownServer()

服务器应该下来…

然后按照以下说明进行升级: 如何在Ubuntu上安装MongoDB

添加10代(MongoDB的创造者)公钥到apt-get,所以你相信他们的包:

$ sudo apt-key adv –keyserver keyserver.ubuntu.com –recv 7F0CEB10

$ echo“deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen”>> /etc/apt/sources.list.d/10gen.list

更新你的软件包:

$ sudo apt-get update

安装10gen的MongoDB Debian / Ubuntu软件包:

$ sudo apt-get install mongodb-10gen

以下软件包将被删除mongodb

以下软件包将被安装: mongodb-10gen

如果您遇到错误 ,请尝试:

$ apt-get autoremove

一旦你有新版本的MongoDB,“非ASCII”字符问题应该消失。

(ps我知道这个问题涉及到RHEL,但运行其他版本的Linux的人会遇到这个问题,所以我认为Ubuntu / Debian的答案是相关的。随意删除

看一眼:

http://www.mongodb.org/display/DOCS/Building+Spider+Monkey#BuildingSpiderMonkey-Build

“SpiderMonkey默认不使用UTF-8,所以我们在构build之前启用。

所以,你需要重buildSpiderMonkey。