안녕하세요.
DB Table 필드 중 아래와 같이 한글이 섞인 데이타가 있습니다.
"kim.taeho@gmail.com源?쒗샇"
이것을 cursor.getString함수를 써서 불러온다음에 toast로 뿌려봤는데 아무것도 출력이 되지 않아요.(한글깨짐이 아닌 아예출력이 안되요..) 인덱스를 잘못 참조한것도 아니고요...
출력되는 것들은 영어와 숫자로만 된 거만 출력되고 한글이 포함되어 있는거는 아무런 문자열도 없어요.
한글이 포함되어 있는 데이터도 getString함수를 써서 불러오는 방법 알수 있을까요?
참고로 안드로이드는 에뮬에서 테스트했고요 에뮬 언어는 영어로 되어있습니다..
그리고 한글이 포함되어 있는거는 getString으로 불러올 때 null을 리턴하더라구요..
왜 한글이 포함되어 있는것은 null을 리턴하는 것일까요?
에뮬이라도 한글 잘 출력하구요..Toast에서 출력이 안되는건 한글이 깨져서 그런게 아닐까 하는 생각을 조심스레 해봅니다..
도스창에서 adb shell로 들어간뒤 sqlite를 직접 실행해서 쿼리문을 날렸을때 한글이 깨져 나온다면 한글이 깨져서 들어가는 것이구요..
(단 이렇게 할려면 커맨드창에서 한글이 출력되게끔 조치는 해주셔야 합니다..그건 구글링 하시면 방법이 있습니다)
아니면 최신버전의 adt까지 업그레이드 하셨으면 로그캣에서도 한글 출력이 지원되기 때문에 getString한 결과를 로그캣에 찍어도 한글이 잘 나옵니다..그러니 그걸로 확인해보셔도 되구요..
아니면 테이블에 넣기 전에 관련값을 로그캣에 찍어보세요..그 시점에서 한글이 깨진다면 한글이 깨져서 insert가 된겁니다..
사용자가 화면상에서 입력한 값이 아닌 네트워크 상에서 받거나 파일을 읽어오는 과정에서 한글이 깨질수도 있습니다..
그러니 일단 테이블에 insert 하기 전에 관련 값을 로그캣에 찍어보세요..




한글 잘 됩니다.
에뮬이라 그런게 아닐까요..