[ 
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


Reply via email to