I'm trying to send an emoji to my webservice and then receive that emoji later. 

Everywhere I've looked, I've seen two solutions:  

1.) 

```
URLEncoder.encode(msg_text, "UTF-8");  
URLDecoder.decode(msg_text, "UTF-8");

```

and 2.) 

```
StringEscapeUtils.escapeJava(msg_text);  
StringEscapeUtils.unescapeJava(msg_text);

```

If I use StringEncoder, I can send "uD83DuDE0A"  

If I use URLEncoder, I can send "??"  

If I use both, in either order, I can send "????????"

I've tried altering the characterset in my mysql database to "utf8mb4" but there is a possibility that I didn't do that right. 

I also checked the documentation for URLEncoder to see if I could change "UTF-8" to something like "UTF-8mb4" but that didn't exist. I tried "UTF-16" but that gave me some weird unicode characters.

I've tried replacing the "\" in my msg\_text with "\\" before sending it and that didn't seam to do anything. 

I'm posting here because I'm out of ideas for what I could do. Could anyone point me in the right direction? Thanks in advance.