2017-10-29 15 views
0

내 파일이 메모장 ++에서 UTF-8로 이미 인코딩되었으므로이 오류가 계속 발생하는 이유는 무엇입니까?MalformedByteSequenceException : 1 바이트 UTF-8 시퀀스의 유효하지 않은 바이트 1

나는 jasperreports를 사용하고 있습니다. 은 .jrxml

Oct 30, 2017 12:35:07 AM frmStart jButton_repActionPerformed 
SEVERE: null 
net.sf.jasperreports.engine.JRException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence. 
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:249) 
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:228) 
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:216) 
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:170) 
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:154) 
    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:85) 
    at frmStart.jButton_repActionPerformed(frmStart.java:556) 
+0

BOM_없이 _UTF-8로 저장되어 있습니까? – tkausl

+0

있는지 확인하는 방법? –

+0

메모장에서 보았습니다. ++ 인코딩> BOM이없는 UTF-8을 볼 수 없습니다. –

답변

0

나는 상황에서 읽을 수있는 (바이너리)의 InputStream을 부여하는 경우 Xerces에이 BOM으로 UTF-8 입력을 받아 들일 것입니다 생각하지만, 당신은 그것을 입력으로 (문자 기반) 독자를 제공하는 경우 , Java I/O 라이브러리에 디코딩을 요청할 것이고 이는 실패 할 것입니다.

그래서 재스퍼 보고서가 Xerces를 호출하는 방법에 따라 다릅니다. 네가 그걸 통제 할 수 있는지 모르겠다.