안드로이드 개발시 채팅이 들어가는 어플리케이션을 만들경우
많은 분들이 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;
}
}
'IT개발일지 > Android' 카테고리의 다른 글
[Android] 안드로이드 Notification 진동 제거 Oreo 버전 이상!! (0) | 2019.05.29 |
---|---|
[Android] QR코드 스캔하기 ZXING Library (0) | 2019.05.28 |
[Android] Fragment 화면 제어 in ViewPager (0) | 2019.05.16 |
[Android]중복 notification PendingIntent 관련 중복 알림 (0) | 2019.05.08 |
[Android] 안드로이드 Excel 파일 만들기 (0) | 2019.04.12 |