마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

한글로된 SMS 수신 내용이 깨져서 보입니다. 한글 표시 문의드립니다.

0 추천

수신된 SMS를 BroadcastReceiver로 가로채어

 

Msg의 내용을 text 파일로 저장하고 저당된 내용을 view로도 표시합니다.

 

하지만, 영문은 표시에 문제가 없지만 한글로 된 SMS는 메시지 내용이

 

모두 깨져서 보입니다.

 

한글로 제대로 저장하고 표시되게 할 수 있는 방법이 없을까요?

 

* 메시지의 내용 및 발신자는 다음과 같이 가져옵니다.

msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);

strSender = msgs[i].getOriginatingAddress();

strContents = msgs[i].getMessageBody().toString();

 

국화향기 (430 포인트) 님이 2015년 4월 21일 질문

1개의 답변

0 추천

보아하니 수신된 SMS 단말기가 7bit 문자로 인식해서 영문은 정상으로, 한글은 깨져서 나오는 것 같습니다.

아마 정상적인 SMS 수신 루틴이였으면 한글이 정상적으로 parsing이 되어서 정상적으로 보였겠지만 SMS가

parsing이 안 된 상태에서 SMS 내용을 저장하셨기 때문에 한글이 깨진 것 같습니다.

일단, 내장되어 있는 SMS app.(40자 이내)로 한글이 깨지는 지 먼저 확인 해보시기 바랍니다.

내장되어 있는 SMS app.(40자 이내)로 정상적으로 한글이 나오면 수신된 SMS를 BroadcastReceiver로 가로채지 말고

SMS parsing된 시점을 잘 선택하여 text file로 저장해보시기 바랍니다.

참고로 SMS protocol에서는 SMS 문자 내용이 모두 영문이면 7bit로 압축해서 주고 받게 되어 있습니다.(android app.에서 수정할 수 있는 부분은 아닌 듯...)

옛날의 SMS protocol 개발자로부터...

 

옛날의 SMS protocol 개발자... 님이 2015년 4월 21일 답변
...