[ https://issues.apache.org/jira/browse/THRIFT-1224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alessandro Morandi updated THRIFT-1224: --------------------------------------- Description: I can't seem to find a way to save UTF-8 data into Cassandra. I'm using the cassandra gem 0.11.1 (https://github.com/fauna/cassandra/) which in turn uses thrift_client (0.6.2), which in turns uses the thrift library (0.6.0). As an example, the following code[1] bq. cassandra.insert(:Cache, "123", {"unicode string" => "ä"}) will raise an exception: bq. {{Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8}} The stacktrace points to `thrift-0.6.0/lib/thrift/transport/framed_transport.rb:58`. What seems to be happening is that `@wbuf` is encoded as ASCII-8BIT, while `buf` is encoded as UTF-8, which causes the concatenation operation (<<) to fail with the exception above. This issue might be connected to https://issues.apache.org/jira/browse/THRIFT-1023. [1] Of course, this assumes a "cassandra" object created using the cassandra gem and a schema inizialized with a column family called "Cache" was: I can't seem to find a way to save UTF-8 data into Cassandra. I'm using the cassandra gem 0.11.1 (https://github.com/fauna/cassandra/) which in turn uses thrift_client (0.6.2), which in turns uses the thrift library (0.6.0). As an example, the following code bq. cassandra.insert(:Cache, "123", {"unicode string" => "ä"}) will raise an exception: bq. {{Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8}} The stacktrace points to `thrift-0.6.0/lib/thrift/transport/framed_transport.rb:58`. What seems to be happening is that `@wbuf` is encoded as ASCII-8BIT, while `buf` is encoded as UTF-8, which causes the concatenation operation (<<) to fail with the exception above. This issue might be connected to https://issues.apache.org/jira/browse/THRIFT-1023. > Cannot insert UTF-8 text > ------------------------ > > Key: THRIFT-1224 > URL: https://issues.apache.org/jira/browse/THRIFT-1224 > Project: Thrift > Issue Type: Bug > Components: Ruby - Library > Affects Versions: 0.6 > Environment: Ruby 1.9.2, Cassandra 0.8, thrift_client gem 0.6.2, > cassandra gem 0.11.1 > Reporter: Alessandro Morandi > Labels: charset, encoding, ruby, utf, utf-8, utf8 > > I can't seem to find a way to save UTF-8 data into Cassandra. > I'm using the cassandra gem 0.11.1 (https://github.com/fauna/cassandra/) > which in turn uses thrift_client (0.6.2), which in turns uses the thrift > library (0.6.0). > As an example, the following code[1] > bq. cassandra.insert(:Cache, "123", {"unicode string" => "ä"}) > will raise an exception: > bq. {{Encoding::CompatibilityError: incompatible character encodings: > ASCII-8BIT and UTF-8}} > The stacktrace points to > `thrift-0.6.0/lib/thrift/transport/framed_transport.rb:58`. What seems to be > happening is that `@wbuf` is encoded as ASCII-8BIT, while `buf` is encoded as > UTF-8, which causes the concatenation operation (<<) to fail with the > exception above. > This issue might be connected to > https://issues.apache.org/jira/browse/THRIFT-1023. > [1] Of course, this assumes a "cassandra" object created using the cassandra > gem and a schema inizialized with a column family called "Cache" -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira