java - 推文中的表情符号在 MongoDB 中显示为 "?"

标签 java mongodb emoji tweets

目前,我正在根据情绪收集推文并进行分析。我有带有表情符号的推文,但在收集时,它只是返回一个问号。

例如:

原始推文(在 Twitter 中):

lipton ice tea💛

收集后(在 MongoDB 中):

lipton ice tea?

我正在将 Twitter 4j Java 包与 MongoDB 一起使用。

最佳答案

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 ,确保您的程序在读取文件、输入流等时使用正确的编码。

关于java - 推文中的表情符号在 MongoDB 中显示为 "?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40342118/

相关文章:

java - 使用 JFreechart 创建多条线的正态分布图

vim - 使用 tmux 在 vi​​m 中表情符号显示问题

mysql - 如何使用 utf8mb4 在 MySQL 中按表情符号搜索?

java - 自定义注解过滤器 Spring boot

java - 如何删除标题 View ?或者修复这个异常: "Cannot add header view to list - setAdapter has already been called"

java - 如何在 Windows 7 中打开 JAR 文件

c# - 如何提高 MongoDB 插入性能

mongodb - 我们如何在 Mongodb 中实现 "Select For Update"?

mongodb - 通过配置文件设置将 mongod 作为服务启动

javascript - 如何将日本国旗字符🇯🇵放入字符串中?