Jasper Reports を使用してレポートを生成しようとしていますが、次のエラーが発生します。
net.sf.jasperreports.engine.JRException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 バイト UTF-8 シーケンスのバイト 1 が無効です。
私はこのJavaコードを使用しています:
List<Aluno> lista = alunoService.findAll();
String path = req.getSession().getServletContext().getRealPath("WEB-INF");
JasperReport report = JasperCompileManager.compileReport(path + "/relatorios/aluno.jasper");
JasperPrint print = JasperFillManager.fillReport(report, null, new JRBeanCollectionDataSource(lista));
JasperExportManager.exportReportToPdfFile(print, path + "/relatorios/teste.pdf");
レポートをコンパイルしようとすると、次のエラーが発生します。
JasperReport report = JasperCompileManager.compileReport(path + "/relatorios/aluno.jasper");
aluno.jrxml ファイルは UTF-8 エンコーディングです。
<?xml version="1.0" encoding="UTF-8"?>
私はこの問題を調査しましたが、その理由は jrxml ファイルが UTF-8 でエンコードされていないためだと言っています。誰かが私を助けることができれば、本当に感謝しています。
を使用した Java コードaluno.jrxml
List<Aluno> lista = alunoService.findAll();
String path = req.getSession().getServletContext().getRealPath("WEB-INF");
JasperDesign design = JRXmlLoader.load(path + "/relatorios/aluno.jrxml");
JasperReport report = JasperCompileManager.compileReport(design);
JasperPrint print = JasperFillManager.fillReport(report, null, new JRBeanCollectionDataSource(lista));
JasperExportManager.exportReportToPdfFile(print, path + "/relatorios/teste.pdf"