У меня проблема с кодировкой utf-8 в сетях 3. но с this (добавление фильтра для кодировки символов в web.xml), моя проблема решена. Но у меня есть еще один фильтр для файловой загрузки mainfaces в моем web.xml. На страницах, где есть файловая загрузка, даже без загрузки чего-либо, мой фильтр кодировки символов не работает, а набор символов utf-8 с неизвестными значениями, как и при отсутствии фильтра для загрузки. Как я могу использовать этот фильтр вместе?файл с фильтрами utf8 с фильтрами utf8
7
A
ответ
12
Это ошибка в PrimeFaces MultipartRequest
. Он использует кодировку символов по умолчанию для полей формы вместо одного набора в запросе сервлетов HTTP, как это делается HttpServletRequest#setCharacterEncoding()
в вашем кодировании символов (который, как я полагаю, был отображен в web.xml
до PrimeFaces FileUploadFilter
).
В принципе, линия 85 и 88 из MultipartRequest
в PrimeFaces 3.3
formParams.get(item.getFieldName()).add(item.getString());
// ...
items.add(item.getString());
должен быть изменен следующим образом
formParams.get(item.getFieldName()).add(item.getString(getCharacterEncoding()));
// ...
items.add(item.getString(getCharacterEncoding()));
Я сообщил об этом, как issue 4266. В то же время, лучше всего, чтобы вручную исправить неправильную кодировку строки в методе действия поддержка боба следующим образом, при условии, что сервер платформы кодирования по умолчанию ISO-8859-1:
string = new String(string.getBytes("ISO-8859-1"), "UTF-8");
3
По сути, вам нужен следующую строку кода, чтобы исправить это:
new String(file.getFileName().getBytes(Charset.defaultCharset()), "UTF-8")
Смежные вопросы
- 1. Кодирование с фильтрами DirectShow
- 2. Чтение проблемы с фильтрами
- 3. CAKEPHP: Проблемы с фильтрами
- 4. Выбор флажка с фильтрами
- 5. Проблемы с фильтрами AngularJS
- 6. усиление каротажа с фильтрами
- 7. Пути Neo4j с фильтрами
- 8. Проблема с фильтрами
- 9. RadGrid с настраиваемыми фильтрами
- 10. Ireports с несколькими фильтрами
- 11. DC.js Сортировка с фильтрами
- 12. Галерея jQuery с фильтрами
- 13. регистрация с фильтрами
- 14. Помощь с фильтрами django
- 15. Directory.EnumerateFiles с специальными фильтрами
- 16. Объединить теги с фильтрами
- 17. Таблица Saprfc с фильтрами
- 18. Рестрангулярный запрос с фильтрами
- 19. Маркеры с фильтрами несовместимы
- 20. RESTeart проблема с фильтрами
- 21. openfiledialog - папки с фильтрами
- 22. Карта Операции с фильтрами
- 23. заголовки с фильтрами preg_match_all
- 24. Количество столбцов с фильтрами
- 25. Фильтр с фильтрами с ячейками
- 26. Прямые экспортные данные с фильтрами
- 27. Начало работы с фильтрами Logstash
- 28. Aerospike - Запрос с несколькими фильтрами
- 29. Нокаут вложенных foreach с фильтрами
- 30. Создание виньетки с фильтрами SVG?
метод addFormParam не имеет параметр запроса, поэтому я послал параметр запроса к этому методу в качестве addFormParam (HttpServletRequest запроса, FileItem пункт) и я сделал то, что вы сказали: formParams.get (item.getFieldName())) добавить (item.getString (request.getCharacterEncoding())). но это не сработало !!! что я могу сделать? – zorro6064
Я отредактировал ответ, есть еще одна строка, которую нужно изменить. 'Request.' может быть опущен, это' HttpServletRequestWrapper'. – BalusC
Уважаемый BalusC, Спасибо за ваш полезный ответ. Моя проблема решена – zorro6064