집에 구축한 우분투 nas를 통해서 


회사에서 음악을 듣고 싶었습니다. '-' 


그래서 찾은것이 바로 subsonic !!!!! 


안드로이드 ios 윈도우 등의 클라이언트가 있고


웹 UI도 제공을 합니다.


이제 회사 웹이나 클라이언트 프로그램을 통해서 나스의 음악을 마음껏 들을 수 있습니다. 


그런데 한글이 다 깨지네요 ㅠ.ㅠ 좌절




원인은 현재 mp3 태그가 UTF-8 이 아니라는 겁니다. 


일일이 다 바꿔줄수는 없는것이고 '-' 검색 검색 


한번에 자동으로 싹 바꿔주는 방법이 있더군요 


출처 : http://stove99.tistory.com/165


좋은 정보를 제공해 주셔서 감사합니다. 꾸벅 





스크랩 차원에서 남겨둘게요


아래는 블로그의 원문입니다.


1
sudo apt-get install python-mutagen


설치후 mp3 파일이 있는 디렉토리로 가서 요명령으로 인코딩을 바꿔주고, 다시 스캔하면 한글 태그정보가 쪽바로 조회된다.

1
mid3iconv -e cp949 *.mp3


살짝 응용해서 현재 디렉토리 하위에 있는 디렉토리에 포함된 mp3, ogg, flac 파일까지 처리할려면 요렇게 하면 된다.

1
find -type f -iregex ".*/.*\.\(ogg\|mp3\|flac\)" -print0 | xargs -0 mid3iconv -e cp949


매번 요런 명령을 하기에는 무척 귀찮다.


요렇게 .bashrc 에 alias 를 등록해 놓으면 아무데서나 편하게 mp3conv 만 입력하면 하위디렉토리에 있는 파일들까지 싹 찾아서 인코딩을 바꿔준다.

1
2
3
4
5
6
7
8
vi ~/.bashrc
 
# .bashrc 적당한 위치에 요렇게 alias 추가
alias mp3conv='find -type f -iregex ".*/.*\.\(ogg\|mp3\|flac\)" -print0 | xargs -0 mid3iconv -e cp949'
 
 
#저장하고 나와서 적용
source ~/.bashrc


 








오랜만에 블로그 포스팅을 하게 되네요 ^^
그간 이직 하고 하고 싶던 프로그래밍 원없이 했습니다.

이제좀 프로그래머로서의 삶을 다시 사는 느낌이네요.

이번 프로젝트 진행중에 발생한 문제를 해결하며
메모차원에서 포스팅을 남겨둡니다.

한글을 전송함에 있어서 여러 가지 문제점들이 많이 발생하는것은 모두들 아실텐데요.
웹게임을 만들면서

DB -> java 데몬 -> javaScript 로 데이터를 전송하며 모두 UTF-8 로 처리했지만
어김없이 한글 깨짐 현상이 발생했습니다.

아마도 DB->java 데몬 으로 옮겨 오면서 UTF-8 처리가 제대로 되지 않은걸로 추측됩니다.



이문제에 대해서 해결한 방법을 아래에 적었습니다.
 java
 URLEncoder.encode("한글","UTF-8")
 URLDecoder.decode("한글","UTF-8")


java script
 function urldecode (str) { 
    return decodeURIComponent((str + '').replace(/\+/g, '%20'));  // 공백 문자인 + 를 처리하기 위해 +('%20') 을 공백으로 치환
  }
위와 같이  URL 엔코더와 디코더를 이용해서 문제를 해결했습니다.




URL 엔코더의 경우 주로 검색창에 한글로 검색했을 경우
검색된 페이지의 url을 보시면 "검색+한+글자" 와 같은 것을들 자주 볼수 있었을 텐데요.

URL로 엔코딩후 다시 디코딩을 하면 공백에 + 기호로 처리되어 위의
java Script 에서도 + 기호가 모두 들어간채로 디코딩 되었습니다.

그래서 위와 같은 함수를 만들었습니다.
핵심은 decodeURIComponent((str + '').replace(/\+/g, '%20'));  // 공백 문자인 + 를 처리하기 위해 +('%20') 을 공백으로 치환
이부분 입니다.

+를 만나면 그냥 공백으로 치환해 버리는거죠 '%20' <-- 요놈이 + 기호 입니다.

좀 불편하긴 하지만 한글이 깨지지 않고 다른 언어들 간에 전송을 할수 있는 방법으로는
이방법이 제일 안전하고 괜찮아 보입니다.


저도 인터넷 뒤져가며 배우고 만든거라 다시 인터넷으로 돌려드릴겸
그리고 다음에 또 사용할때를 대비해서 메모도 해둘겸 포스팅을 남깁니다.

모두들 유용하게 이용하시길 ^^








  1. gsbob 2012.06.27 14:46

    감사합니다.
    문제가 말끔히 해결됐네요 ㅎㅎ

    이 내용 참고해서.. 블로그에 포스팅좀 해도 되죠??^^

    • 적샷굿샷 2012.06.28 15:20 신고

      해결되셨다니 다행이네요

      출처만 밝혀주신다면
      어디든 퍼가셔도 좋아요 ^^

+ Recent posts