[ https://issues.apache.org/jira/browse/SLING-5973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15426098#comment-15426098 ]
Stefan Seifert edited comment on SLING-5973 at 8/18/16 8:32 AM: ---------------------------------------------------------------- i tried out your application in sling launchpad and opened the URL http://localhost:8080/emojistrip/ - what should i see if it is correct or not? looking at http://localhost:8080/emojistrip/phrases/list/good-luck.json or https://github.com/Whistlepost/emojistrip/blob/master/emojistrip-content/src/main/resources/SLING-INF/content/phrases.json it think the problem is the escaping you use in the JCR content. escaping in form {{&\#x2602;}} is HTML specific and not compatible with the JSON spec. you should store the UTF-8 data natively in JSON/JCR and let the HTML serializer take care of escaping the only when rendering the page. so you can either put the UTF-8 character directly into the JSON file, or escape them as definied in "2.5. Strings" in [RFC4627|http://www.ietf.org/rfc/rfc4627.txt e.g. {{\u005C}}. when storing date using JCR API or Sling API you should not do any escaping manually, just store the UTF-8 string. was (Author: sseif...@pro-vision.de): i tried out your application in sling launchpad and opened the URL http://localhost:8080/emojistrip/ - what should i see if it is correct or not? looking at http://localhost:8080/emojistrip/phrases/list/good-luck.json or https://github.com/Whistlepost/emojistrip/blob/master/emojistrip-content/src/main/resources/SLING-INF/content/phrases.json it think the problem is the escaping you use in the JCR content. escaping in form {{☂}} is HTML specific and not compatible with the JSON spec. you should store the UTF-8 data natively in JSON/JCR and let the HTML serializer take care of escaping the only when rendering the page. so you can either put the UTF-8 character directly into the JSON file, or escape them as definied in "2.5. Strings" in [RFC4627|http://www.ietf.org/rfc/rfc4627.txt e.g. {{\u005C}}. when storing date using JCR API or Sling API you should not do any escaping manually, just store the UTF-8 string. > HTMLSerializer not handling some unicode characters (emoji, etc.) > ----------------------------------------------------------------- > > Key: SLING-5973 > URL: https://issues.apache.org/jira/browse/SLING-5973 > Project: Sling > Issue Type: Bug > Reporter: Ben Fortuna > > I've noticed that when I have unicode special characters (e.g. emoji) in my > sling content and the sling rewriter is enabled the characters are not output > correctly to the browser. For example: > {code}😁{code} becomes {code}��{code} > If I disable the rewriter pipeline the output is as expected. > I've looked in the code and I suspect the issue is in the HTMLSerializer from > the Cocoon library, however I'm not sure why as it should be using the > default encoding for output (which is UTF-8). My rewriter pipeline is using > the default html-generator and html-serializer provided by sling. > My code is available on GitHub here: > https://github.com/Whistlepost/emojistrip > It provides a very simple app/content project pair with some emoji characters > in the content (see src/main/resources/SLING-INF/content/phrases.json). Many > thanks. -- This message was sent by Atlassian JIRA (v6.3.4#6332)