ISSUE

[JAVA] Error - cmd javac complile for encoding UTF-8/MS949

JOKUN 2022. 4. 27. 01:28

[Error Mesage]

C:\Users\win10\eclipse-workspace\Programming>javac OkJavaGoInHomeinput.java
OkJavaGoInHomeinput.java:10: error: unmappable character (0xC6) for encoding UTF-8
        // parameter(??????), ???????
                     ^
OkJavaGoInHomeinput.java:10: error: unmappable character (0xF3B9) for encoding UTF-8
        // parameter(??????), ???????
                       ^
OkJavaGoInHomeinput.java:10: error: unmappable character (0xCC) for encoding UTF-8
        // parameter(??????), ???????
                        ^
OkJavaGoInHomeinput.java:10: error: unmappable character (0xC5) for encoding UTF-8
        // parameter(??????), ???????
                         ^
OkJavaGoInHomeinput.java:10: error: unmappable character (0xCD) for encoding UTF-8
        // parameter(??????), ???????
                          ^
OkJavaGoInHomeinput.java:10: error: unmappable character (0xB8) for encoding UTF-8
        // parameter(??????), ???????
                              ^
OkJavaGoInHomeinput.java:10: error: unmappable character (0xB3) for encoding UTF-8
        // parameter(??????), ???????
                                ^
OkJavaGoInHomeinput.java:10: error: unmappable character (0xBA) for encoding UTF-8
        // parameter(??????), ???????
                                 ^
OkJavaGoInHomeinput.java:10: error: unmappable character (0xAF) for encoding UTF-8
        // parameter(??????), ???????
                                  ^
OkJavaGoInHomeinput.java:10: error: unmappable character (0xBC) for encoding UTF-8
        // parameter(??????), ???????
                                   ^
OkJavaGoInHomeinput.java:10: error: unmappable character (0xF6) for encoding UTF-8
        // parameter(??????), ???????
                                    ^
11 errors

원래 하던 대로 

javac OkJavaGoInHomeinput.java 를 했더니 위와 같은 에러가 떴다.

해당 java파일 코드에 주석이나 한글 등을 사용하여 오류가 난 것으로 추측된다.

(UTF-8용 인코딩이니 ' // parameter(??????), ???????'를 나타낼 수 있는 다른 인코딩을 하라는 것 같다.)

 

 

[해당 파일 유니코드 인코딩/디코딩 방식 확인방법]

eclipse - window - Preferences - General - Workspace

나는 Default값이 MS949로 되어있고, 여태 내가 만든 모든 파일은 MS949*로 만들어졌을거다.

 

*MS949 : 마이크로소프트 윈도 운영체제(Microsoft window OS)에서 한글을 사용하기 위해

EUC-KR을 확장해서 만든 문자 코드로 MS에서 만들었다고 하여 MS949라고 한다.

=CP949 (Code Page 949)

 

 

[해결방법]

기존 컴파일 방법

javac OkJavaGoInHomeinput.java

 

인코딩 옵션 추가하여 컴파일

javac -encoding MS949 OkJavaGoInHomeinput.java

 

나는 MS949로 인코딩하여 컴파일해야 했기 때문에 MS949를 넣었는데,

반대로 UTF-8로 컴파일해야 하면 -encoding UTF-8이라고 적어주면 된다.

 

성공!!

 

* 유니코드 : 전 세계 모든 문자를 컴퓨터에서 일관되게 표현할 수 있도록 고안된 표준코드 (유니코드 표)

* UTF-8 : 유니코드 문자를 컴퓨터 데이터로 저장하거나 불러올 때 사용하는 인코딩/디코딩 방식 문자 데이터를 8비트 기반으로 저장함.