title: java.lang.IllegalArgumentException: Illegal character (d83d)
body: <p>While saving XML data file in my Android app, I get an exception when a user puts an emoji character.
  The d83d character is this one, as I understand: <a href="http://apps.timwhitlock.info/unicode/inspect?s=%F0%9F%98%84" rel="nofollow">http://apps.timwhitlock.info/unicode/inspect?s=%F0%9F%98%84</a> - the smily  character.</p>
  
  <p><strong><em>The relevant stack-trace:</em></strong></p>
  
  <pre><code>java.lang.IllegalArgumentException: Illegal character (d83d)
  at org.kxml2.io.KXmlSerializer.reportInvalidCharacter(KXmlSerializer.java:144)
  at org.kxml2.io.KXmlSerializer.writeEscaped(KXmlSerializer.java:130)
  at org.kxml2.io.KXmlSerializer.attribute(KXmlSerializer.java:465)
  </code></pre>
  
  <p><strong><em>The overarching question is</em></strong>: how do I fix it, so that my users don't have the app crashing on emojis...</p>
  
  <p>The follow-up questions are:</p>
  
  <p>Is this KXmlSerializer supposed to support emoji/Unicode?</p>
  
  <p>Is there an updated version somewhere? I couldn't find it so far.
  Is the lib actively maintained?</p>
  
  <p>Who is maintaining the KXmlSerializer?
  Is it <a href="http://kxml.org/" rel="nofollow">http://kxml.org/</a> ? I couldn't find much there...</p>
  
  <p>Wouldn't an updated version, if put on class-path, collide with the Android built-in one?</p>
  
  <p>What other xml-writing lib should/could I use to replace the KXmlSerializer?</p>
  
  <p><strong><em>Edit</em></strong>: I shall add, that the text that the app saves via xml, comes from a standard Android EditText UI widget where the user enters text (I do not do any Unicode-level manipulation on the string).</p>