[
https://issues.apache.org/jira/browse/COCOON-2352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15560988#comment-15560988
]
Ben Fortuna commented on COCOON-2352:
-------------------------------------
I've just created a pull request in github to add support for surrogate pairs.
https://github.com/apache/cocoon/pull/1
Summary of changes:
* Added instance variable to XMLEncoder to record the first surrogate of the
pair - NOTE: this means the XMLEncoder is no longer thread safe. This may have
implications I'm not aware of (i.e. usage in multi-threaded way)
* Added unit test to demonstrate the behaviour - NOTE: I needed to add the
serializers project to the test classpath, not sure if there is a better way to
do this with the ant config.
I look forward to any feedback or comments.
regards,
ben
> XMLEncoder doesn't support Unicode surrogate pairs
> --------------------------------------------------
>
> Key: COCOON-2352
> URL: https://issues.apache.org/jira/browse/COCOON-2352
> Project: Cocoon
> Issue Type: Bug
> Components: * Cocoon Core, Blocks: Serializers
> Reporter: Ben Fortuna
>
> Whilst investigating an issue with the Sling project and support for emoji
> characters, I've come to notice that the XMLEncoder used by HTMLSerializer
> doesn't support Unicode surrogate pairs to represent higher order unicode
> characters.
> A simple unit test that demonstrates this issue is here:
> https://github.com/micronode/whistlepost/blob/master/whistlepost-rewrite-lib/src/test/groovy/org/apache/cocoon/components/serializers/encoding/XMLEncoderTest.groovy
> More background info here also: SLING-5973
> This seems to have been identified/addressed in other Apache projects also:
> https://issues.apache.org/jira/browse/THRIFT-3403?jql=text%20~%20%22surrogate%20pairs%22
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)