2012-05-24 3 views
1

일부 독일어 특수 문자가있는 테스트 swt 응용 프로그램을 만들었습니다. 이클립스에서이 응용 프로그램을 실행할 때 제대로 작동하지만 응용 프로그램의 항아리를 만들고 터미널에서 병을 실행하면 잘못된 특수 문자가 표시됩니다. I는 도시 한 예mac 독일어 움라우트 문자 용 자바 인코딩

"아세요을 신드 sicher, DASS 아세요는 음 Aufnahme ZU schließen? 다이"와 같은 응용 프로그램을 닫는에 메시지하지만 단말기에서 응용 프로그램을 실행할 때 영상에 도시 된 바와 같이 문자를 나타낸다.

enter image description here

당신이 이미지에서 볼 수 있듯이 제대로 표시되지 않는 일부 특수 문자가 있습니다.

Mac Lion을 사용하고 있습니다. JDK 자세한 사항은

자바 버전 "1.6.0_31" 자바 (TM) SE 런타임 환경 (빌드 1.6.0_31-b04-415-11M3646) 자바 핫스팟 (TM) 64 비트 서버 VM (20.6-B01을 구축 할 수 있습니다 -415, 혼합 모드)

제가

자바 -cp 다음 명령을 이용하여 단말에서 애플리케이션을 실행하고 ./ 최종/* -d32 mypackege.MainClass -Dfile.encoding = UTF-8

I을 커맨드 라인에서 UTF 인코딩을 지정하려고했지만 효과가 없습니다.

+0

을에서 오는가 어디? 직접 코드에 있습니까? –

+0

@JonSkeet : 예, 프로그램에서 문자열을 하드 코딩했습니다. –

+0

그래, 그럴 경우 내 대답은 아마 * 맞을 것이다. –

답변

1

문자열을 가져 오는 방법을 알려주지는 않았지만 소스 코드에있는 경우 빌드시 인코딩 지정에 관한 문제 일 수 있습니다.

javac -encoding UTF-8 ... 

분명히 어떤이 소스 코드를 인코딩이 재단사가의 실제로입니다. 문자열이

+0

@Jhon Skeet : 프로그램에서 문자열을 하드 코딩했습니다. –

+0

@Jon Skeet : 문제가 해결되었습니다. 대단히 감사합니다. –

관련 문제