JNI 한글 문제

java는 기본적으로 UTF-8 인코딩을 사용한다. 자바 소스파일을 UTF-8 형식으로 저장하고, UTF-8로 컴파일 하면 전혀 문제가 없다. UTF-8 컴파일 예시:   javac -encoding utf-8 jni/SHMNative.java jni/AlarmEvent.java 다만 이때에는 c++ 소스에서 UTF-8 기반으로 사용된다. 그런데 만약에 EUC-KR로 변환이 필요하다면 iconv로 이용하면 된다. iconv tutorial을 보고 사용해봤는데, 의외로 잘되지 않았는데 IconvString 이라고 검색해보면 쓰기 좋게 만든 소스가 있다.

euc-kr utf-8

워낙 GUI이 잘 되어 있다 보니, 간혹 맥이 UNIX 기반인 것을 잊곤 한다. euc-kr 을 utf-8로 변환하는 간단한 스크립트이다. euckr2utf8.sh find . -type f -name “*.$1” | while read fn; do         iconv -c -f euc-kr -t utf-8 ${fn} > ${fn}.tmp;         mv ${fn} ${fn}.iconvbackup;         mv ${fn}.tmp ${fn}; done ex) euckr2utf8.sh java validation # find . -name ‘*.java’ -exec cat iconv -f euc-kr -t utf-8  {} \;