2012-03-12 3 views
2

컴파일 할 때 (javac 사용) 일부 Java 소스 파일에는 ASCII 코드 129 (~ A)와 같이 인식 할 수없는 문자가있는 주석 행이 포함되어있어 오류가 발생했습니다.Windows에서 기본 시스템 Java 인코딩 양식을 변경하는 방법은 무엇입니까?

원천 코드처럼 보이는 다음

// ascii 129 is ? (Acutally it show ~A in VIM but show ? when I directly copy it here) 

위의 코드 라인 주석, 그것은 어떤 오류가 발생하지 않아야하지만, 그랬다면, 나는 그것이 jave 인코딩에 대한 문제가해야한다고 생각입니다 양식, 어떻게이 문제를 해결할 수 있습니까?

감사합니다.

워싱턴

+0

129는 유효한 ASCII 코드가 아닙니다. ASCII는'127'까지만 올라갑니다. 코드 포인트'129'는 Unicode가 수퍼 세트 인'ISO-8859-1'에서도 예약되어 정의되지 않았습니다. 또한 서구 세계의 컴퓨터에서 Windows에서 널리 사용되는'Windows-1252'에서는 정의되지 않았습니다. 간단히 말해서, 가장 인기있는 인코딩에서 문자를 나타내는 것이 아니기 때문에 문제의 Java 소스 파일을 인코딩하는 데 어떤 인코딩이 사용되었는지 궁금합니다. –

답변

0

자바 소스의 정확한 인코딩을 지정. UTF-8은 좋은 요구 사항 표준입니다. 오픈 소스 에디터 JEdit을 사용하여 소스가 실제로 어떤 인코딩인지 테스트 할 수 있습니다. java 도구 native2ascii을 변환 할 수 있습니다.

javac -encoding UTF-8 ... 
+0

기본 시스템 인 코드 형식을 변경하여 매번 javec 이후에 "-encoding xxx"를 추가하지 않아도됩니까? – user1232236

+0

인코딩을 한 번 구성 할 수있는 easy ** maven **과 같은 빌드 시스템을 사용하십시오. NetBeans와 같은 IDE는 일부 인코딩에서 편집을 제공하고 일부 인코딩에서도 컴파일합니다. 기본이 아닌 인코딩에서 편집 문제는 Windows 인코딩을 변경하지 않는 것 같습니다. Windows .java에서 편집기/컴파일러를 인코딩 명령 행 매개 변수와 연관시킬 수 있습니다. –

+2

Windows에서 시스템 변수 JAVA_TOOL_OPTIONS를 "-Dfile.encoding = UTF-8"로 설정하면 솔루션이 작동합니다. – user1232236

관련 문제