notepad++ 편집기를 사용하여 Java 코드를 작성한 후 javac를 사용하여 컴파일하면 이런 오류가 발생합니다! (추천 학습: notepad++)
코드는 다음과 같습니다.
오류는 다음과 같습니다.
오류 원인:
JDK 이후 국제 버전이므로 컴파일하는 동안 -encoding 매개변수를 사용하여 JAVA 소스 프로그램의 인코딩 형식을 지정하지 않으면 javac.exe는 먼저 운영 체제에서 기본적으로 사용하는 인코딩 형식을 얻습니다. 즉, Java를 컴파일할 때 프로그램에서 소스 프로그램 파일 형식의 인코딩을 지정하지 않으면 JDK는 먼저 운영 체제의 file.encoding 매개변수를 얻습니다(WIN2k와 같은 운영 체제의 기본 인코딩 형식을 저장하며 해당 값은 GBK입니다). 그런 다음 JDK는 Java 소스 프로그램을 file.encoding 인코딩 형식에서 변환합니다. JAVA 내부의 기본 UNICODE 형식을 메모리에 넣습니다.
이후 javac는 변환된 유니코드 형식 파일을 .class 클래스 파일로 컴파일합니다. 이때 .class 파일은 UNICODE로 인코딩되어 임시로 메모리에 배치됩니다. 파일은 우리가 보는 .class 파일을 형성하기 위해 운영 체제에 저장됩니다.
우리가 최종적으로 얻은 .class 파일은 내용이 UNICODE 인코딩 형식으로 저장된 클래스 파일입니다. 소스 프로그램에는 중국어 문자열이 포함되어 있지만 이번에는 UNICODE 형식으로 변환되었습니다.
설정하지 않고 컴파일하면 javac -encoding gbk XX.java 매개변수를 사용하는 것과 동일합니다. 물론 비호환성이 발생합니다.
해결책:
메뉴: 설정 → 기본 설정 → 새로 만들기, 인코딩 방법을 ANSI로 선택하세요.
위 내용은 gbk의 매핑할 수 없는 문자를 인코딩하는 메모장++java 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!