<div dir="ltr"><div>On the rare chance that someone else stumbles across this problem ...</div><div><br></div><div>By default, Java's Xalan transformer for creating XML documents does not correctly encode emojis. Instead of &#x1F44D; for the thumbs up emoji, Xalan encodes it as &#55357;&#56397;. As Arthur pointed out, this is not a valid entity encoding.</div><div><br></div><div>One solution is to use Saxonica's Saxon 11 transformer, which produces the expected output:</div><div><br></div><div>  <html><br>    <head><meta charset="utf8"/></head></div><div>    <body><br>      <p id="caret">the 👍 emoji</p></div><div>    </body><br>  </html></div><div><br></div><div>In Java, switching to Saxon entails installing the Jar files for Saxonica and its resolvers. Then set the system property before invoking the XML transformer: System.setProperty( "javax.xml.transform.TransformerFactory",  "net.sf.saxon.TransformerFactoryImpl" );<br></div><div><br></div><div>ConTeXt handles the emoji from the transformed XML file without any issues.<br></div><div><br></div>Thank you, Arthur.<br></div>