2011-08-08 4 views
2

나는 개미를 사용하여 내 웹 응용 프로그램을 컴파일 할 때 나는 다음과 같은 컴파일러 메시지가 :개미 컴파일 : 닫히지 않은 문자 리터럴

unclosed character literal 

잘못된 코드 줄은 다음과 같습니다 컴파일러 메시지가 무엇

protected char[] diacriticVowelsArray = { 'á', 'é', 'í', 'ó', 'ú' }; 

평균?

+1

당신은 어느 것이 문제를 일으키는 알아낼 때까지 한 번에 배열 한 문자를 만들어보십시오. 또는 각각을 유니 코드 값으로 지정하고이를 유니 코드로 처리하십시오. – Paul

답변

6

Java는 일반적으로 소스 파일이 UTF-8로 인코딩 될 것으로 예상합니다. UTF-8 인코딩을 사용하여 소스 파일을 저장하도록 편집기를 설정 했습니까? 문제는 다른 인코딩을 사용하는 경우 Java 컴파일러가 혼란스럽고 (UTF-8과 다른 인코딩간에 다르게 인코딩되는 문자를 사용하기 때문에) 소스를 디코딩 할 수 없다는 것입니다.

Java가 다른 인코딩을 사용하도록 설정되었을 수도 있습니다. 이 경우 시도하십시오 :

javac -encoding UTF8 YourSourceFile.java 
+3

내 ant 빌드 스크립트에서 javac 명령에'encoding = "utf8"'을 추가했는데 정상적으로 작동했습니다. – Mike

2

Java 소스가있는 텍스트 파일에 UTF 인코딩을 사용하십시오.

또는

코드는 유니 코드 번호, 전자 등 ('á' 당신이 '\u00E1' 쓰기 등)이다 사용 '\uCODE'.

이 필요할 수 있습니다 :

http://www.fileformat.info/info/unicode/char/e1/index.htm

+1

알 수없는 새끼처럼 들릴 위험이 있으므로 유니 코드가 표준이며 UTF-8, UTF-16 및 UTF-32가 인코딩을 구현하고 있습니다. 그래도 \ uXXXX 좋은 조언. 오픈 소스가 아니지만 [BabelPad] (http://www.babelstone.co.uk/software/babelpad.html) (Windows 전용, 죄송합니다!)는 코드 포인트/문자를 찾는 데 매우 유용한 유틸리티입니다. \ uXXXX의 XXXX). –

+0

고마워, 나는 그것을 바꿨다;) –

관련 문제