euc-kr로 인코딩한 곡명이 깨지고 있다
BMP (beep-media-player)를 사용해서 음악을 듣고 있는데, 곡명 중에 원래 한글 내지는 euc-kr (cp949) 호환으로 되어있던 곡명들이 깨지고 있었다. 근데 화면에 나오는 에러메시지가 ‘유효하지 않은 UTF-8’ 이어서 출력할 때 사용하는 encoding을 알 수 있었고 (지금와서 보니 LANG / LC_ALL
가져다 쓰는 것 같지만), 윈도우 파티션에서 euc-kr로 된 태그들을 수정하는 코드를 짜기 시작했다.
taglib (http://developer.kde.org/~wheeler/taglib.html)과 POSIX iconv를 사용해서 슥슥 짰더니 대충 돌기시작 ID3v1 tag는 album 이름 부분에서 약간 문제가 있는 듯 하지만, 나머지는 잘 돌고 있음. 간단한 예로 밑에 스샷에서 보면 14번/16번 곡과 15/17번 곡은 각각 동일한 파일이었다. 단지 태그 정보를 읽어서 인코딩 바꿔준 결과 제대로 보이는 것 뿐. 12번 곡의 artist field는 지금 encoding이 뭔지도 추정하지 못하고 있다(그래서 지금도 여전히 깨진다) 도대체 뭘까;