javac 로 컴파일시 유니코드(utf-8) 한글 소스 코드 컴파일 문제

javac 로 컴파일시 유니코드(utf-8) 한글 소스 코드 컴파일 문제





경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

자바 소스 파일(Java Source File)을 유니코드로 작성하면, 자바가 인코딩을 자동으로 인식하지 못합니다.
-encoding
자바 컴파일러에 위와 같은 옵션을 준 후, 한 칸 띄우고 인코딩 이름을 적어 주어야 합니다.


UTF-8 유니코드의 경우
javac -encoding UTF-8 Foo.java && java Foo
(utf8 로도 인식하더군요. 인터넷 웹문서용 유니코드는 UTF-8 이 표준입니다.)

UTF-16LE 유니코드의 경우
javac -encoding UTF-16LE Foo.java && java Foo
(MS윈도우에서는 UTF-16LE 유니코드가 사용됩니다.)

UTF-16BE 유니코드의 경우
javac -encoding UTF-16BE Foo.java && java Foo
(자바 가상머신은, 내부적으로 UTF-16BE 를 사용합니다.)


유니코드가 아닌, 한글 완성형의 경우
javac -encoding euc-kr Foo.java && java Foo
또는
javac -encoding 949 Foo.java && java Foo
(대문자로 EUC-KR 이렇게 적어도 되고, cp949, MS949 등을 사용해도 인식했습니다.) 한글 윈도우에서는 한글 완성형 인코딩이 기본이기에 지정해 줄 필요 없습니다.

중요 업데이트: 자바에서 한글 완성형 인코딩을 명시적으로 지정해 줄 때는 반드시 MS949 인코딩을 사용해야 "똠방각하" 등의 확장완성형이 표현됩니다.




유니코드 BOM 을 인식 못하는 문제


유니코드에는 파일의 맨앞에, 보이지 않는 어떤 표시를 해두는데 그런 것을 BOM이라고 합니다. 자바는 BOM이 있는 유니코드는 전혀 인식하지 못하더군요. BOM을 잘못된 글자/깨진 글자쯤으로 오해했습니다

가령 BOM이 있는 유니코드(utf8) 소스에서는

illegal character: 279

이런 에러가 났습니다. 텍스트 편집기의 File > Save As, 에서 BOM 이 없는 유니코드로 변환해 주면 문제가 해결됩니다.

[출처] http://mwultong.blogspot.com/2006/09/java-utf-8-utf-16-unicode.html



본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
30 Java XML Parse, Java XML 파싱 샘플 졸리운_곰 2015.03.03 708
29 Java Inner class 자바 중첩(내부)클래스 졸리운_곰 2015.03.03 760
28 IzPack으로 GUI 설치 프로그램 만들기 file 졸리운_곰 2015.02.15 539
27 [Java],[AWT],[Layout],[AWT Layout], file 졸리운_곰 2015.02.13 242
26 [Java],[AWT],[SWING], Java GUI file 졸리운_곰 2015.02.13 816
25 [Java][AWT 개요] file 졸리운_곰 2015.02.13 335
» javac 로 컴파일 시 유니코드(utf-8) 한글 소스 코드 컴파일 문제 졸리운_곰 2015.02.02 1025
23 [스프링] 스프링 Java 어노테이션 file 졸리운_곰 2014.06.11 834
22 [스프링] 스프링 MVC 졸리운_곰 2014.06.11 397
21 [스프링] 어노테이션 졸리운_곰 2014.06.11 913
20 인코딩 - 8859_1의 비밀(?) file 졸리운_곰 2014.05.06 542
19 [JNI] 안드로이드 JNI 환경에서 C++과 Java 간의 한글 데이터 전송 문제 졸리운_곰 2014.05.06 566
18 자바 암호화 복호화 file 졸리운_곰 2014.04.08 2440
17 파일 존재 여부 판단, 디렉토리 있는지 확인 함수; File Directory Exist 졸리운_곰 2014.03.03 1126
16 NetStat call and get result text in Java 졸리운_곰 2014.02.25 860
15 [Spring] @Autowired 와 Java Spring 졸리운_곰 2014.01.29 1242
14 Java Static 변수 졸리운_곰 2014.01.28 968
13 Properties 클래스 사용하기. 졸리운_곰 2014.01.28 936
12 Java => Thread 졸리운_곰 2014.01.28 712
11 [Spring] 내가 Spring을 사랑하는 다섯 가지 이유 file 가을의 곰을... 2013.12.22 892
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED