CouchDB如何处理UTF-8?

时间:2010-03-18 12:17:10

标签: utf-8 couchdb

我对CouchDB感到很困惑:如果我发送一个PUT请求,其中一些JSON字符串字段编码为UTF-8,则非7位ASCII字符将转换为“\ uXXXX”转义序列。有没有办法告诉它不要逃避UNICODE?

2 个答案:

答案 0 :(得分:5)

那些\uXXXX是在Javascript中编码UTF-8字符的正确方法。

考虑使用JSON (即Javascript数据)访问CouchDB,这些序列在使用数据时应该被解释,这应该不是问题。

答案 1 :(得分:0)

CouchDB使用mochiweb来处理JSON编码/解码。

有一个参数做编码例程,告诉输出没有那些\uXXXX

应用补丁的简单方法是:

  1. 获取CouchDB源
  2. 编辑src / mochiweb / mochijson2.erl
  3. 在第45行找到-record(encoder, {handler=null, utf8=false}).
  4. 更改为utf8=true
  5. 干净;使; make install
  6. 我找到了与Chris Anderson http://erlangine.feautec.pp.ru/?p=232的讨论,它告诉我,如果有人想要对CouchDB进行适当的补丁,那么有机会将这种行为开箱即用。