2009-11-11 3 views
2

나는 잘 작동하는 일식 프로젝트를 얻었다.이클립스의 자바 클래스에서 문자 Enconding이 엉망입니다. 그것을 고치는 방법?

언젠가 나는 내 컴퓨터를 포맷해야했기 때문에 이클립스를 다시 설치 한 후 내 작업 공간을 백업으로 복사 했으므로 백업 된 작업 공간에서 프로젝트를 가져 왔습니다. 무슨 일이 있었는지

는 특수 문자가 포함 된 모든 문자열을 손상한다는 것입니다 .. 같은

.. é, são, 등 É, são ...에

는 리팩토링하는 방법이 있나요 정상으로 돌아 간다 고요?

이클립스에서 문자 인코딩을 변경해 보았지만 클래스 파일을 업데이트하지 않았습니다.

+0

는 왜 클래스 파일을 찾고 있습니다를? 프로젝트를 다시 빌드해야 할 수도 있습니다. – jjnguy

답변

0

이것은 아마도 어리석은 제안이지만 어쨌든 나는 그것을 언급 할 것이라고 생각했습니다. file.class 또는 file.java을여시겠습니까? *.class 파일을 제대로 기억한다면이 이상한 문자가 왜 보이는지를 설명하는 바이너리 파일입니다. *.java 파일은 일반 텍스트 원본 파일입니다.

나는 그것을 알았지 만, 그 말씨가 나를 그렇게 느끼게 만들었 기 때문에 나는 그것을 언급 할 것이라고 생각했다.

+0

인물 ........ –

0

디스크의 실제 .java 파일은 어떻게 보이나요? 그들은 손상 되었습니까, 아니면 그냥 일식이 제대로 표시 할 수 없습니까? 디스크에서 파일이 잘 보이는 경우 인코딩 속성을 jjnguy 제안으로 설정하면 트릭을 수행해야합니다.

디스크에서 파일이 손상된 경우 iconv은 파일을 손상시킬 수 있습니까?

이 예를 들어 \ u00E4가/ä/& auml입니다 (문자열 등의 비 ASCII 문자를 이스케이프 사실은 \ uNNNN를 사용하여 일반 ASCII의 자바 파일을 유지하는 것이 좋습니다, 앞으로 이러한 문제를 방지하려면 /는 A 위에 두 개의 점이 있음).

+0

관련 없음. 인코딩이 제대로 설정되지 않은 것입니다. – Bozho

+0

아시나요, Bozho? 나는 일식이 디스크에 upp 파일을 엉망으로 만들 수 있다는 사실을 알고 있으며, OP에서 파손 된 디스플레이 일 뿐이라는 것을 확신하지 못합니다. –

+1

+1 나는 방금 자바 파일들을 다치게했다. 그것은 Encoding (내 경우에는 MacRoman)으로 저장된 Eclipse Java 파일을 가져 와서 다른 환경 (Windows, cp-1252)에서 열고 파일이 깨진 것없이 다시 저장하면 발생합니다. 이제는 문자가 왜곡 된 것보다 나빠졌습니다. 이제는 각 인코딩의 일부가 있습니다. 아마도 iconv가 손상시킬 수 있습니까? Eclipse가 UTF-8을 기본값으로 사용하지 않는 것은 우스꽝 스럽다. 이것은 크로스 플랫폼 IDE이다. – nobre

6

작업 영역 인코딩을 다시 구성해야합니다. 특히 작업의 텍스트 인코딩, >환경 설정로 이동하여 해당되는 경우 사방 UTF-8에 필터 텍스트 "인코딩"을 설정을 입력합니다.

2

정상으로 다시 리팩토링하는 방법이 있습니까?

개별 파일을 닫고 마우스 오른쪽 버튼으로 속성을 열고 인코딩을 수동으로 설정하려고 했습니까?

é .. 같은, 상, 등 Ã에 ‰, SA £ 오 ...

당신이 그것을 & #의 x00c9 아니 었습니까; (U + 00C9)이 & # x00C3; & # x2030; (U + 00C3 U + 2030)?

이전에는 UTF-8로 해석 된 파일이 이제는 다른 것으로 해석되고 있음을 알 수 있습니다 (아마도 windows-1252).


많은 자바 컴파일의 문제를 사용하지 않는 (이 당신을지지 다른 모든 유니 코드 이스케이프 시퀀스를 US-ASCII 문자 인코딩에 표시 값의 일부에 부착하고 사용하여 고정 할 수 UTF-16 또는 UTF-32 또는 뭔가).

코드 String foo = "É";String foo = "\u00C9";이됩니다. 이렇게하면 가독성을 희생하면서 소스 코드 이식성이 향상됩니다.

당신은 변환을 수행하기 위해 JDK native2ascii 도구를 사용할 수 있습니다 :

native2ascii -encoding UTF-8 Foo.java 
관련 문제