首页 > 解决方案 > 保存非 UTF-8 文本时,DocumentDB 失败并显示错误代码 9

问题描述

当文本包含非 UTF-8 字符时,我在将文档保存到 AWS DocumentDB(版本 4.0.20)时遇到了一些错误。这源于使用 UTF-8 以外的字符编码(例如 ISO-8859-1 或 windows-1252)的网页。

特别是像这样的文本中的撇号是有问题的:

While it isn’t used as a gimmick

因为原始文本在复制/粘贴/发布过程中可能已“有用地”转换为 UTF-8,所以原始字节为:87, 104, 105, 108, 101, 32, 105, 116, 32, 105, 115, 110, 226, 128, 153, 116, 32, 117, 115, 101, 100, 32, 97, 115, 32, 97, 32, 103, 105, 109, 109, 105, 99, 107-- 请参阅此处的原始页面

当我尝试将其作为文档字段插入 AWS DocumentDB 时,该字符串会生成类型 9 错误。它可以很好地保存在我的本地 Mongo 实例上。

有没有办法让这个保存?还是在我们尝试保存文本之前正确转换文本的唯一真正解决方案(例如,使用iconv或类似方法从 ISO-8859-1 编码转换)?我怀疑部分问题是用于获取网页的编程语言在内部使用 UTF-8 来表示字符串,但据我所知,它并没有强制任何字节转换。

标签: utf-8character-encodingaws-documentdb

解决方案


推荐阅读