Aerospike 字符集 utf8 设置
Aerospike charset utf8 setting
我正在 aerospike 中插入一条记录。在我的本地环境中一切正常。但是,在暂存环境中,UTF-8 字符未正确存储。
aql> select msg from test.msges
LIST('["{"message_id":"kxwFZHVBKj","title":"คำถามได้รับà¸à¸²à¸£à¸•à¸à¸šà¸à¸¥à¸±à¸šà¹à¸¥à¹‰à¸§!","actions":
|
+----------------------------------------------------------------------------------------------------------+ 1 row in set (0.038 secs)
此外,这是使用非常 UTF-8 安全的 golang clinet 完成的,即没有字节到字符串或字符串到字节转换的问题,这在本地工作正常,因此
我假设这与 aerospike 配置或版本有关。我本地的 aerospike 版本是 3.14.1.1,在 staging 上是 3.9.1.1。
根据对此 post 的 c-client 评论,我注意到的另一件事是,在我的本地计算机上,我获得了以下 aql 版本:
Aerospike Query Client Version 3.13.0.1 C Client Version 4.1.6
但是在遥控器上我有以下内容:
Aerospike Query Client Version 3.9.1.2
缺少 C 客户端版本!
任何人都可以帮助我在这里缺少什么配置(或其他)?
aql是用c-client编写的工具。在 c-client 中,应用程序应该处理 utf-8 编码,因为没有 "string" 数据类型类似于支持多字节 utf-8 字符的新一代语言。读取数据的应用程序应该事先知道数据确实是用 utf-8 编码编写的来处理它。 aql 无法确定,因为它是通用工具。因此,它最终将每个字节打印为一个字符。
我正在 aerospike 中插入一条记录。在我的本地环境中一切正常。但是,在暂存环境中,UTF-8 字符未正确存储。
aql> select msg from test.msges
LIST('["{"message_id":"kxwFZHVBKj","title":"คำถามได้รับà¸à¸²à¸£à¸•à¸à¸šà¸à¸¥à¸±à¸šà¹à¸¥à¹‰à¸§!","actions": | +----------------------------------------------------------------------------------------------------------+ 1 row in set (0.038 secs)
此外,这是使用非常 UTF-8 安全的 golang clinet 完成的,即没有字节到字符串或字符串到字节转换的问题,这在本地工作正常,因此 我假设这与 aerospike 配置或版本有关。我本地的 aerospike 版本是 3.14.1.1,在 staging 上是 3.9.1.1。
根据对此 post 的 c-client 评论,我注意到的另一件事是,在我的本地计算机上,我获得了以下 aql 版本:
Aerospike Query Client Version 3.13.0.1 C Client Version 4.1.6
但是在遥控器上我有以下内容:
Aerospike Query Client Version 3.9.1.2
缺少 C 客户端版本!
任何人都可以帮助我在这里缺少什么配置(或其他)?
aql是用c-client编写的工具。在 c-client 中,应用程序应该处理 utf-8 编码,因为没有 "string" 数据类型类似于支持多字节 utf-8 字符的新一代语言。读取数据的应用程序应该事先知道数据确实是用 utf-8 编码编写的来处理它。 aql 无法确定,因为它是通用工具。因此,它最终将每个字节打印为一个字符。