【问题标题】:mongo import with special characters in string through csv using javamongo使用java通过csv导入字符串中的特殊字符
【发布时间】:2018-11-04 10:50:43
【问题描述】:

我正在尝试使用 java 将 csv 文件导入 mongodb,因为一个名为 question 的字段可能包含字符串中的特殊字符。 在 db 中导入 csv 后,它会将 special characters 替换为 问号如何解决请帮帮我。 目前我正在使用下面提到的实现进行导入

csv 输入是:如果 ΔABC 的∠A、∠B 和∠C 相等,那么三角形是 。 Db 输出为: "question" : "如果?A, ?B 和?C of ?ABC 相等, 然后三角形是”这里的角度符号用问号代替。 它不应该发生

 String filesavedpath="D://nithin" + "/"+csvfilename;

   String command = "mongoimport" + " --db dbname --collection collectionname" +
             "-f quizname,question,option_1,option_2,option_3,option_4,answer --type csv --file " + filesavedpath;

提前致谢 苏尼尔

【问题讨论】:

  • 你需要考虑编码,否则开始出现unicode替换字符(问号)。 IE。以 UTF-8 格式读取数据,当它实际上是 ISO-8859-1 之类的东西时会破坏特殊字符。
  • 特殊字符到底是什么?你需要更具体,也更确定“替换”。 mongoimport 将与 UTF-8 数据一起愉快地工作。很可能是您的“控制台/终端”没有正确显示这些字符。
  • 请不要发布指向数据图像的链接,复制/粘贴 INPUT 数据的代表性样本,包括被破坏的特殊字符 进入您的帖子。格式为CODE
  • 我在这个问题上打了个电话。我只是将您的特殊字符放入文件中并毫无问题地导入它们。如前所述,您用于查看数据的内容更有可能无法呈现编码,或者实际文件以不正确的编码保存。您应该使用 UTF-8,显示的字符对其有效。

标签: java mongodb csv-import


【解决方案1】:
  1. 第 1 步:将 Excel 工作表 myFile.xlsx 保存为 myFile.csv 文件,使用 MS-Excel 文件菜单
  2. 第 2 步:使用记事本打开保存的 CSV 文件并另存为 myFile.csv,但将编码更改为 UTF-8,同时保存并覆盖现有的 CSV 文件。

Save As screenshot on notepad MongoDB content after loading data using mongoimport from csv

【讨论】:

    【解决方案2】:

    我已经解决了您将 csv 上传到 db 的问题。我找到了一种解决您的问题的方法。您必须使用 Libre Office 并将文件作为字符集 (UTF-8) 打开并另存为 .csv

    【讨论】:

      猜你喜欢
      • 2019-02-09
      • 1970-01-01
      • 2018-09-26
      • 1970-01-01
      • 2012-07-15
      • 2022-10-07
      • 1970-01-01
      • 2013-12-19
      相关资源
      最近更新 更多