<?xml version="1.0" encoding="iso-8859-2"?>
으로 시작하는 XML 파일이 있습니다. is
이되는 InputStream과 handler
는 어떤 임의의 핸들러SAXException iso-8859-2
SAXParserFactory.newInstance().newSAXParser().parse(is, handler);
: 나는 그것을 다음과 같은 방법을 참조하십시오.
<![CDATA[something °]]>
, 파서가해야 캐릭터 세트 ISO-8859-2을 사용 :
org.apache.harmony.xml.ExpatParser$ParseException: At line 41152, column 17: not well-formed (invalid token)
는 사실이 같은 CDATA 안에 그 위치에서도 기호가 : 그 때 나는이 예외가 이 문자를 포함하여 거의 모든 문자를 허용합니다. 이것은 사실이 아닌 것처럼 보입니다. 내가 도대체 뭘 잘못하고있는 겁니까?
편집하는 것은
나는 안드로이드에이 모든 일을 해요.
이상한 : 파서가 인코딩 속성을 완전히 무시한 것 같습니다. 난 헤더를 그대로두고 UTF-8로 파일을 변환하고 지금 내 프로그램은 오류없이 읽을 수 있습니다. 왜 그거야 ??
(나는이 같은의 InputStream을 만들고 있어요 :.이 오류가 될 수 있도록 독자없이 new BufferedInputStream(new FileInputStream(filename))
, 즉)
데이터가 실제로 ISO-8859-2로 올바르게 인코딩 되었습니까? –
[Wikipedia] (https://en.wikipedia.org/wiki/ISO/IEC_8859-2)에 따르면이 문자는 ISO-8859-2에서 B0로 인코딩됩니다. 파일에서 해당 위치의 실제 바이트입니까? –
네, 메모장 ++에서 열었습니다. "ANSI 인코딩"이라고 말하면 헝가리 창을 가지고 있습니다. – szali