代码之家  ›  专栏  ›  技术社区  ›  Crusaderpyro

Aerospike字符集utf8设置

  •  2
  • Crusaderpyro  · 技术社区  · 7 年前

    我正在aerospike中插入一条记录。我当地的环境一切都很好。然而,在登台环境中,UTF-8字符没有正确存储。

    aql>从测试中选择消息。msges公司

    列表('[“{”message¸id”:“kxwFZHVBKj”,“title”:“ø–ÃÖø¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸¸Ã¸¸¸¸¸¸Ã¸¸¸¸Ã¸¸¸¸¸¸ÃÃÃÃÃø§!“,”actions“: | +----------------------------------------------------------------------------------------------------------+一组1行(0.038秒)

    我假设这与aerospike配置或版本有关。我的本地版上的aerospike版本是3.14.1.1,登台版是3.9.1.1。

    根据这篇文章中c-client的评论,我注意到的另一件事是,在我的本地机器上,我得到了以下aql版本:

    Aerospike查询客户端版本3.13.0.1 C客户端版本4.1.6

    但在遥控器上,我有以下内容:

    Aerospike查询客户端版本3.9.1.2

    缺少C客户端版本!

    任何人都可以帮助我,我在这里遗漏了什么配置(或任何东西)?

    1 回复  |  直到 4 年前
        1
  •  3
  •   sunil    7 年前

    aql是用c-client编写的工具。在c-client中,应用程序预计将处理utf-8编码,因为没有类似于支持多字节utf-8字符的新一代语言的“字符串”数据类型。读取数据的应用程序应该事先知道数据确实是用utf-8编码写入的,以处理这一点。aql无法确定这一点,因为它是一种通用工具。因此,它最终将每个字节打印为一个字符。