본문 바로가기

IT개발일지/Android

[Android] EMOJI 이모티콘 이슈 해결방법 (feat.socket.io)

안드로이드 개발시 채팅이 들어가는 어플리케이션을 만들경우

많은 분들이 socket.io 를 이용한다.

socket.io 를 사용하여 채팅을 구현할때 Emoji를 사용할시 ???? 또는 문자가 깨지는 이슈가 발생하였다.

그럴경우 

1. 데이터 베이스 세팅을  utf8mb4_unicode_ci 로 변경하여 준다

2. 안드로이드에서 문자를 UTF-8로 인코딩하여 전송하고 받을때 디코딩 해서 세팅을 하여준다.

 

<인코딩>

try {
sendData.put("msg", URLEncoder.encode("인코딩할문자","UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}

 

<디코딩>

public static String decodeEmoji (String message) {
String myString= null;
try {
return URLDecoder.decode(
message, "UTF-8");
} catch (UnsupportedEncodingException e) {
return message;
}
}