안녕하세요.

안드로이드의  Music 보면, 
id3tag내의 한글이   어떤것을 깨지고 ,  어떤것을 표시가 되고 한답니다.


이전에  이거 어떻게 하냐고 하면, 

"Tag 편집툴로  다시 인코딩해서 넣으세요"

가  주된 답변이었습니다.



오늘 이문제 해결해 보려고  frameworks 소스로 보다   원인을 찾았습니다.



한글이 깨지는  mp3의  경우,

id3tag 내의 정보중에서   encoding에 대한 정보가 없고,   한글은  EUC-KR (완성형) 으로 인코딩 되어 있는 경우 더군요.

id3tag도 버전이 올라가면,  각 데이타의 encoding정보를 넣을 수가 있는데요.
이 인코딩 정보가 제대로 들어간 경우는  제대로 되는데,  없는 경우가 문제 더군요.



안드로이드의  mediascanner 가   mp3 파일을  해석해서 

id3tag 내의 정보가  UTF-8 이면  그냥 넣고, 
UTF-8이 아니고,  ISO-8859-1  (Lantin-1) 이면  그냥  UTF-8 인코딩만 해서 넣더군요.


그런데,  영문의 경우는   Latin-1 코드나  UTF-8 이나  코드가 같기 때문에  이렇게 넣어도 아무 문제가 없지만,

한 글 완성형은   Unicode가  아닌데,  인코딩 정보가 없으니까 ,  Latin-1  코드인줄 알고,
그냥 UTF-8 방식으로 바꾸어서 그냥 넣어 버리더군요 ㅡ.ㅡ



즉, 이 문제를 해결하기 위해서는   인코딩 정보가 없는 경우의 기본값을  EUC-KR로 해주면 되더군요.

수고하세요!