>  기사  >  개발 도구  >  gbk의 매핑할 수 없는 문자를 인코딩하는 메모장++java 코드

gbk의 매핑할 수 없는 문자를 인코딩하는 메모장++java 코드

(*-*)浩
(*-*)浩원래의
2019-08-12 10:15:142808검색

gbk의 매핑할 수 없는 문자를 인코딩하는 메모장++java 코드

notepad++ 편집기를 사용하여 Java 코드를 작성한 후 javac를 사용하여 컴파일하면 이런 오류가 발생합니다! (추천 학습: notepad++)

코드는 다음과 같습니다.

gbk의 매핑할 수 없는 문자를 인코딩하는 메모장++java 코드

오류는 다음과 같습니다.

gbk의 매핑할 수 없는 문자를 인코딩하는 메모장++java 코드

오류 원인:

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 코드

위 내용은 gbk의 매핑할 수 없는 문자를 인코딩하는 메모장++java 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.