[ https://issues.apache.org/jira/browse/PROTON-576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14146273#comment-14146273 ]
ASF subversion and git services commented on PROTON-576: -------------------------------------------------------- Commit 1627298 from [~gemmellr] in branch 'proton/trunk' [ https://svn.apache.org/r1627298 ] PROTON-576: updates to bring things into line with the patch on the JIRA, rather than a stale older version I actually applied (not having a good day :P) > proton-j: codec support for UTF-8 encoding and decoding appears broken? > ----------------------------------------------------------------------- > > Key: PROTON-576 > URL: https://issues.apache.org/jira/browse/PROTON-576 > Project: Qpid Proton > Issue Type: Bug > Components: proton-j > Affects Versions: 0.7 > Reporter: Dominic Evans > Fix For: 0.8 > > Attachments: 02_fix_stringtype_encode_decode.patch, PROTON-576.patch > > > It seems like Proton-J has its own custom UTF-8 encoder, but relies on Java > String's built-in UTF-8 decoder. However, the code doesn't seem quite right > and complex double byte UTF-8 like emoji ('📔🚢🍛🍴🍹🏊🏄') can quite easily fail to > parse: > | | Cause:1 :- java.lang.IllegalArgumentException: Cannot parse > String > | | Message:1 :- Cannot parse String > | | StackTrace:1 :- java.lang.IllegalArgumentException: Cannot parse > String > | | at > org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:48) > | | at > org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:36) > | | at > org.apache.qpid.proton.codec.DecoderImpl.readRaw(DecoderImpl.java:945) > | | at > org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:172) > | | at > org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:124) > | | at > org.apache.qpid.proton.codec.DynamicTypeConstructor.readValue(DynamicTypeConstructor.java:39) > | | at > org.apache.qpid.proton.codec.DecoderImpl.readObject(DecoderImpl.java:885) > | | at > org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:629) -- This message was sent by Atlassian JIRA (v6.3.4#6332)