PrimeFaces에서 내 보낸 예상 아랍어 이름의 파일에 텍스트 대신 ".csv"와 같은 확장자가있는 공백 (이름)이있는 문제가 발생했습니다. 파일 내용은 아랍어로 표시됩니다. Apache-Tomcat 6.0.29 서버가 있습니다. 나는 디버깅을했고 그 파일이 return 문 (아래에 주어진 자바 코드)까지 아랍어로 이름을 가지고 있지만 그 후에는 디버깅 할 수 없다는 것을 발견했다. 대답은 여기에 대답을 Primefaces fileDownload non-english file names corrupt 주어진 주어진 시도했지만 Firefox 나를 사용했기 때문에 그것은 나를 위해 작동하지 않았다. URIEncoding = "UTF-8"커넥터 태그 server.xml에 이미 속성을 설정했습니다.Firefox의 PrimeFaces에서 아랍어 이름으로 파일 내보내기
XHTML :
<p:commandLink id="export" ajax="false" > Export
<p:fileDownload value="#{groupView.export}"/>
</p:commandLink>
자바 :
public StreamedContent getExport() {
String content = "Any text in Arabic or English";
// send CSV file to browser
InputStream is;
StreamedContent file = null;
try {
is = new ByteArrayInputStream(content.getBytes("UTF-8"));
file = new DefaultStreamedContent(is, "application/csv", "المشاركات.csv","UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return file; //FILE NAME IS IN ARABIC TILL HERE
}
PS : 나는 일반 자바를 통해 아랍어 이름을 가진 파일을 만드는 시도하고 일했다.
다른 질문에 대한 링크를 클릭하십시오. 실패했습니다. 수정하십시오. 그리고 [mcve]를 만들어보세요. 다른 사람을 구하기 위해 노력하고 있습니다. – Kukeltje
수정 됨. 링크가 작동 중입니다. – MNH
코드 스 니펫을 변경합니다 – MNH