目前,我正在根据情绪收集推文并进行分析。我有与emojis的推文,但在收集时,它只返回一个问号。
例如:
原始推文(在Twitter上):
lipton ice tea
收集后(在MongoDB中):
lipton ice tea?
我正在使用MongoDB的Twitter 4j Java包。
答案 0 :(得分:0)
默认情况下,MongoDB使用UTF-8,除非你将它配置为而不是,否则它完全能够存储表情符号。
有一次我花了整整一周的时间撞到墙上,因为MongoDB不会存储拉丁文的特殊字符。事实证明,MongoDB运行得很好,而Log4j是未配置为使用UTF-8打印日志的那个,所以我在日志中看到的只是????
而不是ñáçÜ
。
如果您使用Mongo Shell(Windows中的<mongo installation dir>/bin/mongo.exe
)连接到您的MongoDB实例,就像我一样,并查询您的数据,您应该能够看到表情符号。这是一个quick reference for the Mongo Shell。
您的问题在于您的JSON遮罩,或者您发送给MongoDB的字符串的编码。
在Java中,您可能希望将file.encoding
系统属性设置为UTF-8
,以确保您的程序在从文件,输入流等读取时使用正确的enconding。
答案 1 :(得分:0)
如果你正在使用Robomongo,这是一个robomongo问题。
Robomongo在表格模式下显示?
而不是表情符号。