컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Java/자바] 일본어 Shift-JIS 파일을, 유니코드(UTF-8)로 변환 프로그램일본어 Shift-JIS / EUC-JP 텍스트 파일 예제; Japanese Text Fi...도스용 V3.EXE 실행 배치파일; 도스창에서 백신III 실행 DOS BATeuc-kr(한글 완성형)문서 파일을, UTF-8 유니코드로 변환 방법; ANSI to U...Java/자바] 숫자(정수;int) 배열, 순서 거꾸로 뒤집기/역전시키기; Reverse ...Java/자바] 문자열 배열 요소 순서, 거꾸로(역순으로) 변환; Reverse Strin...Java/자바] 문자열 거꾸로 뒤집기; 글자 순서 반대로 Reverse StringVIM (VI, GVIM) 빔 에디터, 종료 명령어, 빠져 나오는 법; Exit QuitJava/자바] 배열 요소 추가 / 배열 크기 늘리기; Array Resize; Dynam...C언어] 실행시 오류(런타임 에러): runtime error R6002 - floatin...

Java/자바] 한글 확장 완성형; MS949 / cp949 인코딩(Encoding) 문제 해결; 차이, 차이점

Saturday, November 25, 2006

자바에서는 MS949 와 cp949 가 약간 다른 인코딩이었습니다.


MS949 : 한글 확장 완성형 (똠방각하 표현 가능)

cp949 / euc-kr : 한글 완성형 (똠방각하 불가능)



소스 파일의 인코딩을 명시적으로 지정해 줄 때 "똠"자를 처리하지 못하고
warning: unmappable character for encoding cp949
이런 경고가 출력되었고, "똠"자가 "?c"라는 글자로 깨졌습니다.


예를 들어 다음과 같습니다:


소스 파일명: Foo.java
public class Foo {
  public static void main(String[] args) {

    System.out.println("가나다라 똠방각하");

  }
}


이런 소스를 컴파일하고 실행하면:

1번째 실행 때는, 시스템 기본 인코딩을 사용했기에 문제가 없습니다.

2~4번째 실행 때는 cp949 등의 인코딩을 지정했기에 "똠"자가 깨졌습니다.

5번째 실행 때는 MS949 인코딩을 지정했기에 정상적으로 출력되었습니다.

D:\Z>javac Foo.java && java Foo
가나다라 똠방각하

D:\Z>javac -encoding cp949 Foo.java && java Foo
Foo.java:4: warning: unmappable character for encoding cp949
    System.out.println("가나다라 똠방각하");
                             ^
1 warning
가나다라 ?c방각하

D:\Z>javac -encoding 949 Foo.java && java Foo
Foo.java:4: warning: unmappable character for encoding 949
    System.out.println("가나다라 똠방각하");
                             ^
1 warning
가나다라 ?c방각하

D:\Z>javac -encoding euc-kr Foo.java && java Foo
Foo.java:4: warning: unmappable character for encoding euc-kr
    System.out.println("가나다라 똠방각하");
                             ^
1 warning
가나다라 ?c방각하

D:\Z>javac -encoding MS949 Foo.java && java Foo
가나다라 똠방각하

D:\Z>



결론


자바에서는 반드시 MS949 인코딩을 사용해야 했습니다. 소스 내부에서 인코딩을 사용할 때에도 마찬가지입니다.

물론 한글 윈도우에서 한글 텍스트 파일을 사용할 때에는, 인코딩을 지정할 필요는 없습니다.

리눅스에서 사용한다든지 하는 좀 복잡한 상황에서의 문제입니다.



▶▶ [자바/Java] 유니코드 소스 파일 인코딩 인식시키기 - UTF-8 UTF-16 Unicode

☞ 자바(Java)

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top