투케이2K

194. (TWOK/WORK) [업무 이슈] 안드로이드 기기와 한글 데이터 전송 Http 통신 인코딩 깨짐 이슈 - Http 헤더 UTF-8 설정인데 EUC-KR 한글 전송 이슈 본문

투케이2K 업무정리

194. (TWOK/WORK) [업무 이슈] 안드로이드 기기와 한글 데이터 전송 Http 통신 인코딩 깨짐 이슈 - Http 헤더 UTF-8 설정인데 EUC-KR 한글 전송 이슈

투케이2K 2025. 12. 11. 19:27
728x90

[제 목]

타이틀 : 투케이 / 2k / 업무 정리

제목 : [업무 이슈] 안드로이드 기기와 한글 데이터 전송 Http 통신 인코딩 깨짐 이슈 - Http 헤더 UTF-8 설정인데 EUC-KR 한글 전송 이슈

 

[내 용]

------------------------------------------------------------------------------
[개발 및 테스트 환경]
------------------------------------------------------------------------------

- 제 목 : [업무 이슈] 안드로이드 기기와 한글 데이터 전송 Http 통신 인코딩 깨짐 이슈 - Http 헤더 UTF-8 설정인데 EUC-KR 한글 전송 이슈


- 테스트 환경 : Android / Device / Http Api


- 사전) UTF-8 간단 설명 : 

  >> UTF-8 은 유니코드를 위한 가변 길이 문자 인코딩 방식 입니다

  >> UTF-8 은 문자를 나타내기 위한 기본 단위는 1 byte 이며 최대 4 byte 까지 사용할 수 있습니다

  >> 아스키 코드 영문, 숫자 등은 1 byte 사용, 유니코드 한글, 한자 등은 3 byte 를 사용합니다


- 사전) EUC-KR 간단 설명 : 

  >> EUC-KR 은 KS X 1001와 KS X 1003을 사용하는 8비트 문자 인코딩 방식이며, [한글 완성형] 인코딩 으로 불립니다

  >> EUC-KR 인코딩 포맷 방식은 한글 데이터를 저장할 때 지정 하는 포맷 방식 입니다 

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[이슈 사항]
------------------------------------------------------------------------------

1. 안드로이드에서 디바이스 기기와 HTTP 통신으로 한글 데이터 주고 받을 시 Http Response Header 값에 지정 된 인코딩 (UTF-8) 과 

   다른 인코딩 (EUC-KR) 방식으로 한글 데이터를 넘겨줘 인코딩이 깨지는 이슈 발생


2. Http 통신에서 Response 응답 받은 내용 : 

----------------------------------------------------
[CODE LOCATION] : N_AsyncHttp$2.onResponse
----------------------------------------------------
[SAVE EXPLAIN] : [N_AsyncHttp] : [HTTP 통신 수행 정보 확인] : requestGetQueryStringHttp
----------------------------------------------------
[REQUEST_TIME :: 2025-12-10 13:48:57]
----------------------------------------------------
[REQUEST_URL :: http://10.241.215.71/names]
----------------------------------------------------
[REQUEST_HEADERS :: Content-Type: application/x-www-form-urlencoded; ✅ charset=utf-8;
Cache-Control: no-cache
Authorization: 
]
----------------------------------------------------
[RESPONSE_STATUS :: 200]
----------------------------------------------------

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[원인 파악 및 증상 재현]
------------------------------------------------------------------------------

1. 안드로이드 휴대폰에서 핫스팟 활성 수행


2. 디바이스 기기에서 안드로이드 핫스팟에 연결 수행


3. 안드로이드에서 핫스팟에 연결 된 기기 IP 정보 확인


4. 안드로이드에서 해당 IP 에 데이터 요청 Http 통신 수행 실시


5. Http Response 응답 데이터 전문 확인 시 한글 데이터의 경우 인코딩이 깨져서 보이는 이슈 발생


6. Http 통신 Response 응답 헤더에는 charset=utf-8; 설정으로 인코딩 방식이 지정되어 있지만, 실제 기기에서 한글 데이터를 EUC-KR 로 전송하고 있어 인코딩이 깨지는 것 확인

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[조치 내용]
------------------------------------------------------------------------------

1. 디바이스 기기 장비에서 Http 통신 수행 시 Response Header UTF-8 인코딩 방식에 맞게 한글 데이터를 전송하도록 수정 요청


2. 안드로이드 기기에서도 Http 통신 후 Response 응답 데이터 확인에서 인코딩이 깨진 문자열 발견 시 경고 팝업창 추가 표시

  >> 응답 데이터 인코딩이 올바르지 않습니다. 다시 확인해주세요.

------------------------------------------------------------------------------





------------------------------------------------------------------------------
[참고 사이트]
------------------------------------------------------------------------------

[바이트(byte)값과 문자열(string)간 데이터 변환 실시 - MS949,UTF-8,UTF-16,UTF-16LE,EUC-KR,ISO-8859-1]

https://kkh0977.tistory.com/211

https://blog.naver.com/kkh0977/222213351753?trackingCode=blog_bloghome_searchlist


[ASCII CODE , ANSI CODE , UNI CODE , UTF-8 , UTF-16 개념 설명]

https://blog.naver.com/kkh0977/222738078154?trackingCode=blog_bloghome_searchlist


[EUC-KR] 한글 완성형 인코딩 설명

https://blog.naver.com/kkh0977/223177412614?trackingCode=blog_bloghome_searchlist


[유틸 파일] eucKrHexToString - EUC-KR Hex 문자열 값을 String 으로 변환 수행

https://blog.naver.com/kkh0977/224081443948?trackingCode=blog_bloghome_searchlist

------------------------------------------------------------------------------
 
728x90
반응형
Comments