【问题标题】:Query mongoDB with German umlauts in Python在 Python 中使用德语变音符号查询 mongoDB
【发布时间】:2018-07-07 13:13:02
【问题描述】:

我在 mongoDB 中有一个集合,其中包含包含“主题”字段的文档。这些主题字段中有德语单词(大写),例如“LANDSTRAßE”或“DÖBLIN”。 我还有一个文本文件,它的每一行都包含相同的主题(但小写)。 我想从我的文本文件中读取主题并根据它们查询我的收藏。 但是我的查询没有找到具有该主题的文档,即使该主题确实存在于集合中。

这是我阅读文本文件的方式:

THIS_FOLDER = os.path.dirname(os.path.abspath(__file__))
topicsFileName = 'topics.txt'
with io.open(os.path.join(THIS_FOLDER, 'Assets', topicsFileName), encoding='utf8', errors='replace') as st:
  topics = st.readlines()

这是我查询集合的方式(例如我的主题中的第一个主题):

# assuming that I have set up mongoDB collection correctly 
cursor = db[collectionName].find({"topic": topics[0].upper().rstrip()})

任何想法,我怎样才能正确地进行查询? (该代码适用于其中没有任何变音符号的主题,例如“MARIAHILF”。)

【问题讨论】:

    标签: python mongodb encoding utf-8


    【解决方案1】:

    我发现问题出在哪里。在 MongoDB 中没有使用正确的编码系统保存主题。因此,他们没有正确的德语字符。原因是,用于在 MongoDB 集合中输入主题的文件未以 UTF-8 编码。所以我更新了 MongoDB 中的主题,现在查询运行良好。

    【讨论】:

      猜你喜欢
      • 2011-11-07
      • 2013-02-09
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      相关资源
      最近更新 更多