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

갤러리 DB에서 파일네임을 가져왔는데 인코딩 캐릭터셋이 다른거 같습니다.

0 추천
안녕하세요.

오랜만에 궁금한게 생겨서 질문올리게 되었습니다.

혼자서 해결이 안되고 미궁으로 빠져서요...

다름아니라 디바이스 내부의 미디어 DB에서 동영상 파일의 이름을 가져왔습니다.

Cursor을 이용해서 동영상 파일의 디스플레이네임을 가져왔습니다.

2014.조선명탐정-사라진.놉의.딸.mp4 이라는 파일네임의 문자열을 가지고 와서 자바 String 클래스의 contains라는 메서드를 사용하여 조선이라는 문자열이 대상 문자열에 포함인지를 체크하였는데

계속 찾지를 못하였습니다.

 

그래서 또 다른 test라는 변수에  2014.조선명탐정-사라진.놉의.딸.mp4 이라는 문자열을 직접 타이핑하여 변수에 넣고 contains 체크를 했더니 정상적으로 체크가 되는데요..

이상해서 혹시 인코딩셋 문제인가 해서 두개의 바이트 길이를 체크해봤습니다.

제가 직접 코드상에서 변수에 때려박아넣은 2014.조선명탐정-사라진.놉의.딸.mp4 의 바이트 길이는 72바이트고

디바이스의 미디어 DB에서 직접 getString(컬럼 index)해서 가져온 2014.조선명탐정-사라진.놉의.딸.mp4 의 바이트 길이는 45바이트입니다.

내부적으로 인코딩셋이 잘못되어서 넘어와서 체크가 안되는거 같은데..

정확한 해결책을 못찾겠습니다.

아마 넘어올때 유니코드로 넘어오질 않는거 같은데....정확한 원인과 해결책 아시는분 계시면 도움 부탁드려요 ㅠ

넘 궁금해서 미치겠습니다.
갸아악 (21,260 포인트) 님이 2017년 2월 24일 질문
미디어스토어 DB에서 가져와서 출력한 string 값도 글에 써주셨으면 합니다.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...