안녕하세요.
오랜만에 궁금한게 생겨서 질문올리게 되었습니다.
혼자서 해결이 안되고 미궁으로 빠져서요...
다름아니라 디바이스 내부의 미디어 DB에서 동영상 파일의 이름을 가져왔습니다.
Cursor을 이용해서 동영상 파일의 디스플레이네임을 가져왔습니다.
2014.조선명탐정-사라진.놉의.딸.mp4 이라는 파일네임의 문자열을 가지고 와서 자바 String 클래스의 contains라는 메서드를 사용하여 조선이라는 문자열이 대상 문자열에 포함인지를 체크하였는데
계속 찾지를 못하였습니다.
그래서 또 다른 test라는 변수에 2014.조선명탐정-사라진.놉의.딸.mp4 이라는 문자열을 직접 타이핑하여 변수에 넣고 contains 체크를 했더니 정상적으로 체크가 되는데요..
이상해서 혹시 인코딩셋 문제인가 해서 두개의 바이트 길이를 체크해봤습니다.
제가 직접 코드상에서 변수에 때려박아넣은 2014.조선명탐정-사라진.놉의.딸.mp4 의 바이트 길이는 72바이트고
디바이스의 미디어 DB에서 직접 getString(컬럼 index)해서 가져온 2014.조선명탐정-사라진.놉의.딸.mp4 의 바이트 길이는 45바이트입니다.
내부적으로 인코딩셋이 잘못되어서 넘어와서 체크가 안되는거 같은데..
정확한 해결책을 못찾겠습니다.
아마 넘어올때 유니코드로 넘어오질 않는거 같은데....정확한 원인과 해결책 아시는분 계시면 도움 부탁드려요 ㅠ
넘 궁금해서 미치겠습니다.