2010-03-10 5 views

답변

5

하나 파서는이 때문에 가장 일반적으로 UTF-8 파일을 다른 인코딩이나 파일이 UTF-8을 사용으로 선언하지만 정말하지 않더라도.

18

설정되어과 같이 특정 라틴어 -1 문자 (액센트 또는 움라우트가있는 두 개의 연속 문자)가 무효 한 형식을 이루고 있으며 특히 다음과 같은 내용을 기반으로합니다 : ISO-8859-x (Latin-x, Latin-1과 유사) 처음으로 b yte, 두 번째 바이트에 예기치 않은 상위 ​​비트가 있습니다. 일부 프로세스는 라틴어-1을 사용하여 XML을 덤프 때

쉽게 발생할 수 있지만, 출력 XML 선언 중 하나를 잊어은 (이 경우 XML 파서는 XML 사양에 따라, UTF-8를 기본값으로해야한다), 또는 심지어 때를 UTF-8을의 주장 그렇지 않습니다.

+0

수정 방법에 대한 제안 사항이 있으십니까? 타사 라이브러리 XMLTask를 사용하여 개미 작업을 정의 할 때이 문제가 발생했습니다. – AgentKnopf

+0

그때 힘들다; 그렇지 않으면 일반적으로 특정 인코딩을위한 InputStreamReader를 명시 적으로 작성한 다음이를 XML 파서에 제공합니다. 하지만 Ant와 함께 할 일이 무엇인지 확신 할 수 없습니다. 가능한 경우 XML 파일 자체를 수정하는 것 말고는 물론입니다. – StaxMan

+0

문제를 알아 냈습니다. xml 파일을 다른 형식으로 변환 할 때 xml 파일 중 하나에서 Umlaut (ä, ö, ü)가 어떻게 든 엉망이되었습니다. 내가 그 Umlaut를 제거하고 나면 효과가있었습니다. – AgentKnopf

2

String.getBytes()에서 사용하는 기본 문자 인코딩을 utf-8로 변경할 수 있습니다. VM 옵션 -Dfile.encoding = utf-8을 사용하십시오.

2

나는 동일한 문제가있었습니다. 내 문제는 jdom과 FileWriter (xmlFile)을 사용하여 새 XML 파일을 만들었다는 것입니다. FileWriter는 UTF-8 파일을 만들 수 없습니다. 대신 FileOutputStream (xmlFile)을 사용하여 해결했습니다.

1

여전히 실수를하는 사람들에게. UTF-8은 그래서 어떤 라틴어 문자 나에 대한 귀하의 XML 문서를 체크 아웃 사용하기 때문에

: 내가이 가진 문제점과 같은 이유는 내가이 있었다 :

<n:name>Åke Jógvan Øyvind</n:name> 

희망이

0
을하는 데 도움이

내 Java 도구로 .xml 파일을 가져올 때도 동일한 문제가 발생했습니다. 그리고 이것에 대한 좋은 해결책을 찾았습니다. 1. Notepad ++로 .xml 파일을 연 다음 .xml 파일을 .rtf 파일로 저장하십시오. 그런 다음 워드 패드 응용 프로그램에서이 파일을 엽니 다. 2. .rtf 파일을 .txt 파일로 저장 한 다음 메모장에서 열고 .xml 파일로 다시 저장하십시오. 메모장에 저장할 때 팝업 창의 끝 부분에 "인코딩 : UTF-8"옵션을 선택해야합니다. 그것은 내 작품, 희망도 당신을 위해 유용합니다.

관련 문제