p:fileDownload and p:dataExporter :

 

 for p:fileDownload, the Content-Disposition header should be set like this:

externalContext.setResponseHeader("Content-Disposition", contentDispositionValue + ";filename=\"" + content.getName() + "\";filename*=UTF8''" + URLEncoder.encode(content.getName(), "UTF-8"));

 

p:dataExporter

filename=URLEncoder.encode("中文文件名", "UTF-8");