Ho un servlet che invia un file al browser.Come impostare la codifica UTF-8 per un servlet di download di file
Invio queste intestazioni nel servlet.
if (request.isSecure()) {
response.addHeader("Pragma", "no-cache");
response.addHeader("Expires", "-1");
response.addHeader("Cache-Control", "no-cache");
} else {
response.addHeader("Cache-Control", "private");
response.addHeader("Pragma", "public");
}
if (isIE) {
response.addHeader("Content-Disposition", "attachment; filename=\"" + encName + "\"");
response.addHeader("Connection", "close");
response.setContentType("application/force-download; name=\"" + encName + "\"");
} else {
response.addHeader("Content-Disposition", "attachment; filename=\"" + encName + "\"");
response.setContentType("application/octet-stream; name=\"" + encName + "\"");
if (contentLen > 0) {
response.setContentLength(contentLen);
}
}
Quindi invio il file al browser, ma ho problemi con la codifica del file. Il contenuto del file è UTF-8 ma non so come inviare un'intestazione per questo.
Qualcuno ha idea di come posso fare?
Mi trovavo di fronte a un problema con la codifica errata durante il download di un file html e ho scoperto che l'uso dell'intestazione "Accept: application/octet-stream' ha funzionato. –