CouchDB的和特殊字符(CouchDB and Special Characters)

2019-10-19 02:28发布

问题...我试图通过_bulk_docs API将数据添加到CouchDB的。 在大多数情况下我有这个工作,但包含特殊字符的任何JSON值(在我的数据存在如某些西班牙语或法语字符)产生通过CouchDB的发出“无效的JSON”的错误,并且数据被拒绝。

我不知道我需要什么,为了得到这个工作设置。 有什么建议么? CouchDB的似乎正确地获取数据(至少它看起来是正确的在其日志文件),但它没有被处理,除非我删除特殊字符。

Answer 1:

内容类型应该是application / JSON,不测试/纯

我不熟悉你的JSON解析器,但要确保它是UTF-8,只是因为你的HTTP客户端库设置为UTF-8并不意味着你的JSON序列被outputing统一。



Answer 2:

我会尝试调试做这样的问题:

  1. 安装在计算机上能够理解HTTP数据包嗅探器(例如wireshark的 ),并启动它捕获发送到端口5984包
  2. 创建使用curl命令行文件:

    卷曲-X POST -d@test.js HTTP://本地主机:6984 / TESTDB / _bulk_docs

    其中test.js包含特殊字符的一些文件。 看看,如果这个工程预期。

  3. 做的Java库一样,看看在HTTP头请求体中2例差异和。

注:卷曲默认情况下,应与内容类型发送数据:应用程序/ x-WWW的形式了urlencoded,这可能是问题,但检查的头,因为我不知道。

希望这可以帮到你。



文章来源: CouchDB and Special Characters