1

Servlet+JasperReport を使用して、可変ファイル名の pdf ファイルを生成します。fileNameただし、変数(6 行目) に英語以外の文字が含まれていると、ファイル名が正しく表示されません。

---.pdfまたはとしてファイルを取得しました--english--or--number--.pdf

これが私のコードです:

byte[] pdf = JasperRunManager.runExportToPdf(report, params, datasource);
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();

response.setContentType("application/pdf");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-disposition", "attachment; filename=\"" + fileName + ".pdf\"");

ServletOutputStream sos = responser.getOutputStream();

sos.write(pdf);
sos.flush();
sos.close();
context.responseComplete();

多くの検索を行いましたが、英語以外の文字を正しく表示する解決策が見つかりませんでした。少しばかげていてとても簡単なことのように思えますが、あなたの答えが欲しいです。ありがとうございました。

環境: debian(不安定なテスト)+jsf++maven+spring+hibernate+java7.

4

0 に答える 0