【问题标题】:Retrieving JSON data from MongoDB with Hebrew values using Python使用 Python 从 MongoDB 中检索带有希伯来语值的 JSON 数据
【发布时间】:2021-12-13 00:28:50
【问题描述】:

我是 MongoDB 的新手——当我从基于 JSON 的 MongoDB 中检索一个键时遇到了这个问题——它无法解析希伯来语键值,当我阅读它们时它会返回它们 blank

我之前在本地读取和写入 JSON 文件时遇到了这个问题,使用 UTF-8 编码解决了这个问题,如下例所示:

with codecs.open('words.json', 'wb', encoding='utf-8') as file:
        json.dump(data, file, ensure_ascii=False)

所以我的问题是,有没有办法使用 utf-8 编码检索 MongoDB 数据? 我目前正在使用find() 来读取我的数据。

这样:

for x in mycol.find():
  topic = 'בדיקה'
  print(x[topic])

提前致谢!

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

    我无法重现您的错误。这个 sn-p 似乎对我有用:

    import pymongo
    
    mycol = pymongo.MongoClient()['mydatabase']['mycol']
    
    mycol.delete_many({})
    mycol.insert_one({'בדיקה': 'בדיקה'})
    
    for x in mycol.find():
        topic = 'בדיקה'
        print(x[topic])
    

    打印:

    בדיקה
    

    【讨论】:

    • hmmmmmmm,我会在不同的环境中尝试相同的代码,看看它是否能解决问题并会更新。
    • 如我所料,这就是问题所在 - 感谢您与我一起检查!
    【解决方案2】:

    正如我上面的好人所尝试的那样-确实是我的工作空间环境由于某种原因导致了问题-如果您曾经遇到过这种 mongodb 问题,请尝试使用干净的不同工作环境和控制台来查看它是否解决了这个问题。

    ***使用不同的代码编辑器

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2012-05-16
    • 2014-12-14
    • 2013-08-07
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    相关资源
    最近更新 更多