luc*_*nov 8 v8 spidermonkey utf-8 mongodb
如果我向MongoDB数据库添加非ASCII字符,那么所有db.find()都会告诉"检测到非ascii字符".
这是SpiderMonkey的问题,我必须使用UTF-8支持重建它.我试过这样做,如 http://www.mongodb.org/display/DOCS/Building+Spider+Monkey
但它不起作用(我完成所有步骤后没有安装SpiderMonkey).
我有Ubuntu 11.04.是否有人有指导如何使其工作有?
工作说明如何使用Google V8进行MongoDB工作也可以提供帮助.
Jak*_*nes 14
我在Ubuntu Server 11.04上使用MongoDB,在使用此指令进行新的操作系统安装后安装它:http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages 一切正常,开箱即用.从头开始构建MongoDB对您来说至关重要吗?
使用10gen发布的包工作正常,但如果你真的想从源代码编译SpiderMonkey并支持UFT-8:
curl -O ftp://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
tar xvzf js185-1.0.0.tar.gz
cd js-1.8.5/js/src
export CFLAGS="-DJS_C_STRINGS_ARE_UTF8"
export CXXFLAGS="-DJS_C_STRINGS_ARE_UTF8"
Run Code Online (Sandbox Code Playgroud)
然后按照https://developer.mozilla.org/En/SpiderMonkey/Build_Documentation中的说明进行操作
autoconf-2.13
./configure
make
make install
cp js /usr/local/bin/
Run Code Online (Sandbox Code Playgroud)
这将安装到/ usr/local/lib中,但是mongodb包在/ usr/lib(安装了spidermonkey包的地方)中查找它.因此,我们从/ usr/lib链接安装到/ usr/local/lib的所有文件
ln -s /usr/local/lib/libmozjs185.so /usr/lib/libmozjs185.so
ln -s /usr/local/lib/libmozjs185.so.1.0 /usr/lib/libmozjs185.so.1.0
ln -s /usr/local/lib/libmozjs185.so.1.0.0 /usr/lib/libmozjs185.so.1.0.0
ln -s /usr/local/lib/libmozjs185-1.0.a /usr/lib/libmozjs185-1.0.a
Run Code Online (Sandbox Code Playgroud)
当然你可以将它们移动到/ usr/lib而不是symlinking,但我想保持启用utf的lib远离默认位置,以防止与默认的spidermonkey包发生冲突.如果没有安装libmozjs软件包,apt会抱怨mongodb的依赖关系不满意,所以我把它安装好了.
请记住,如果spidermonkey包升级了,它可以将符号链接覆盖到我们的新库(如果你将它们移动到/ usr/local/lib,则会覆盖libs本身).理想的解决方案是构建自己的包以解决依赖性问题.
| 归档时间: |
|
| 查看次数: |
9022 次 |
| 最近记录: |