Я использую диалог Primefaces p:fileUpload
. Когда я использую некоторые конкретные турецкие символы в имени файла, например "ğ ü ş ı ö ç", я не могу получить их правильно и не могу сохранить загруженный файл на диске.
public void handleFileUpload(FileUploadEvent event){
String newName = new String(event.getFile().getFileName("ISO-8859-1").getBytes(), "UTF-8");
или я также попробовал это:
String newName = new String(event.getFile().getFileName("ISO-8859-1").getBytes(), "ISO-8859-9");
Как правильно получить или преобразовать буквы? Спасибо за помощь.
Обязательно включите следующий фильтр в свой web.xml, прежде чем фильтр загрузки файлов
<filter>
<filter-name>Character Encoding Filter</filter-name>
<filter-class>org.primefaces.examples.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Character Encoding Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
теперь простой event.getFile().getFileName()
должен печатать собственное имя