【问题标题】:couchdb doesn't like accented characters in a json doccouchdb 不喜欢 json 文档中的重音字符
【发布时间】:2013-09-18 05:29:07
【问题描述】:

以下 JSON 对象导致 CouchDB 插入 (POST) 失败并显示“无效 JSON”消息 这里的重音É UTF8

var o = JSON.stringify({"编辑器": 123}); var httpOpts = { 主机名:“本地主机”, 端口:5984, 路径:'/theDb', 方法:'POST', 标题:{ '内容类型':'应用程序/json', '内容长度':o.length} } var req = http.request(httpOpts, function(res) { console.log('状态:' + res.statusCode); console.log('HEADERS:' + JSON.stringify(res.headers)); res.setEncoding('utf8'); res.on('数据',函数(块){ console.log('BODY: ' + 块); }); }); req.write(o) 请求结束()

【问题讨论】:

    标签: couchdb


    【解决方案1】:

    事实证明这不是 couchDB 的错, Content-Length 需要给出字节数, 不是字符数,这是 JavaScript 的 string.length 给你的,

    使用下面的函数来计算字节数可以解决问题 函数 byteCount(s) { 返回 encodeURI(s).split(/%..|./).length - 1; }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 2017-11-26
      • 1970-01-01
      • 2020-10-20
      • 2019-01-27
      • 2012-01-31
      • 1970-01-01
      相关资源
      最近更新 更多