Aerospike charset utf8设置

时间:2017-10-24 09:43:59

标签: go utf-8 aerospike

我在airospike中插入一条记录。一切都在我当地的环境中运作良好。但是,在暂存环境中,UTF-8字符未正确存储。

  

AQL>从test.msges中选择msg

     

LIST('[ “{” MESSAGE_ID “:” kxwFZHVBKj “ ”标题“:” A“ำà¸-าม๓A” A'‰一个£à±A šà¸à¸²à¸£A•à¸à¸šà¸à¸¥一个±à¸šà¹à¸¥A'‰Â§“, “行动”!   |   + ------------------------------------------------- -------------------------------------------------- ------- + 1行(0.038秒)

此外,这是使用一个非常UTF-8安全的golang clinet完成的,即没有字节到字符串或字符串到字节转换的问题,这在本地工作正常,因此 我假设这与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-client版本!

任何人都可以帮助我在这里找到什么配置(或其他什么)?

1 个答案:

答案 0 :(得分:3)

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