Имя загруженного файла Java Турецкая символьная проблема в JSF - Primefaces

1

Я использую диалог 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");

Как правильно получить или преобразовать буквы? Спасибо за помощь.

Теги:
jsf
primefaces

1 ответ

1
Лучший ответ

Обязательно включите следующий фильтр в свой 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() должен печатать собственное имя

Ещё вопросы

Сообщество Overcoder
Наверх
Меню