utf-8 - 保存非 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 来表示字符串,但据我所知,它并没有强制任何字节转换。
解决方案
推荐阅读
- python - 如何在 Django 中通过电子邮件过滤获取用户对象
- javascript - 如何在 React Native 中导入 geolib 来计算两点之间的距离?
- python-3.x - 经过身份验证的蜘蛛分页。302重定向。reqvalidation.asps - 找不到页面
- sas - SAS,在 put 语句中更改字体大小
- python - 熊猫数据框中的逻辑索引
- javascript - 如何修复“未捕获的 ReferenceError:$ 未定义”
- java - Android:Volley 请求在已发布的 APK 中不起作用,而在调试中起作用
- excel - 当使用 Excel VBA 有两个具有相同 TagName 和 InnerText 的不同链接时如何单击所需链接
- c++ - C++:矩阵计算器的高级类模型
- powershell - 使用 PowerShell 从 CSV 文件中过滤数据