【问题标题】:Cassandra : 'ascii' codec can't encode character u'\xe9' in position 218: ordinal not in range(128)Cassandra:'ascii'编解码器无法在位置 218 编码字符 u'\xe9':序数不在范围内(128)
【发布时间】:2017-09-01 11:55:33
【问题描述】:

我在 Ubuntu 16.04 上有 cqlsh,这是我的 cqlsh 版本:

[cqlsh 5.0.1 | Cassandra 3.10 | CQL spec 3.4.4 | Native protocol v4]

我无法创建键空间,我得到的错误是这个:

'ascii' codec can't encode character u'\xe9' in position 218: ordinal not in range(128)

我怎样才能让它工作?

我尝试使用此命令登录:

cqlsh 127.0.0.1 9042 -u cassandra -p cassandra --cqlversion="3.4.4" --encoding utf-8

但是没有用。

创建我使用的键空间的命令:

CREATE KEYSPACE Excelsior
       WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 3};

感谢您的任何回答。

【问题讨论】:

  • 你是如何创建密钥空间的?
  • 创建 KEYSPACE Excelsior WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 3};

标签: python cassandra cqlsh


【解决方案1】:

错误说CQLSHascii编码器不能编码代表é的unicode字符u'\xe9'

因此,在创建键空间时,请使用 ascii 格式的键空间名称。

顺便说一句,使用你的 create keyspace 命令没有错误,但如果我使用带有 unicode 字符的键空间名称,如 'éxcelsior' 会产生完全相同的错误

【讨论】:

  • 键空间来自文档,我尝试了一堆其他键空间名称,但出现了同样的错误。
  • 尝试使用--encoding utf-8作为参数登录cqlsh
猜你喜欢
  • 2016-09-05
  • 2013-02-11
  • 2015-02-10
  • 2013-11-18
  • 2016-08-26
  • 2017-03-29
  • 2011-07-05
  • 2018-07-10
  • 2012-04-14
相关资源
最近更新 更多