Quickly reviewing this spec: https://github.com/apache/cassandra/blob/trunk/doc/native_protocol_v4.spec
I see that column_name is a utf-8 encoded string. So you should be able to pass unicode into the python driver and have it do the "right thing". If not, it's a bug IMHO. On Sat, Nov 21, 2015 at 8:52 AM, Laing, Michael <michael.la...@nytimes.com> wrote: > All these pain we need to take because the column names have special >>> character like " ' _- ( ) '' ¬ " etc. >>> >> > Hmm. I tried: > > cqlsh:test> create table quoted_col_name ( pk int primary key, "'_-()""¬" > int); > > cqlsh:test> select * from quoted_col_name; > > *pk* | *'_-()"¬* > > ----+--------- > (0 rows) > > > So one can quote at least some chars, including all the ones you mentioned. > > However, cqlsh does have a bug: > > cqlsh:test> DESCRIBE TABLE quoted_col_name > > *'ascii' codec can't decode byte 0xc2 in position 72: ordinal not in > range(128)* > > Anyway, perhaps you can avoid the "pain" you referenced above. > > ml >