[ 
https://issues.apache.org/jira/browse/THRIFT-1726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13474383#comment-13474383
 ] 

XB commented on THRIFT-1726:
----------------------------

This patch should fix this issue:
{noformat}
diff --git a/lib/rb/lib/thrift/struct_union.rb 
b/lib/rb/lib/thrift/struct_union.rb
index 4e0afcf..7df859c 100644
--- a/lib/rb/lib/thrift/struct_union.rb
+++ b/lib/rb/lib/thrift/struct_union.rb
@@ -100,6 +100,12 @@ module Thrift
           end
         end
         iprot.read_set_end
+      when Types::STRING
+        if field[:binary]
+          value = Bytes.force_binary_encoding(iprot.read_type(field[:type]))
+        else
+          value = iprot.read_type(field[:type])
+        end
       else
         value = iprot.read_type(field[:type])
       end
{noformat}
                
> Ruby-1.9: "binary" fields are represented by string whose encoding is "UTF-8"
> -----------------------------------------------------------------------------
>
>                 Key: THRIFT-1726
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1726
>             Project: Thrift
>          Issue Type: Bug
>          Components: Ruby - Library
>    Affects Versions: 0.9
>         Environment: JRuby 1.6.8 using "--1.9" command line parameter.
>            Reporter: XB
>
> When reading a thrift object using the Thrift::BinaryProtocol and this thrift 
> object has a field of type "binary", then accessing this field yields a 
> string whose encoding is "UTF-8".
> The encoding should be "ASCII-8BIT" instead. It may be right to assume that 
> "string" fields have a character encoding (such as "UTF-8"), but "binary" 
> fields do not have a character encoding at all. For these cases, there is the 
> pseudo-encoding "ASCII-8BIT" where we deal just with an opaque sequence of 
> bytes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to