Загрузка файла CSE RestEasy (multipart / form-data) искажает символы iso-8859-1 в FireFox - PullRequest
1 голос
/ 05 августа 2010

У меня есть форма multipart / form-data для загрузки файла csv в веб-службу rest easy (JAX RS).Этот файл может содержать символы iso-8859-1, как например é.Когда я загружаю файл через Firefox, эти символы искажаются и заканчиваются как?Когда я загружаю файл через Internet Explorer, все работает нормально.

Я много читал и обнаружил, что существует проблема в Firefox, объединяющем multipart / form-data и атрибут charset (enctype='multipart/form-data; charset=ISO-8859-1')не работает

Итак, я попытался установить <meta http-equiv="Content-Type" content="text/csv; charset=iso-8859-1" /> на своей странице HTML (я также пытался установить text / html или multipart / form-data вместо text / csv, но, похоже, ничего из этого не имеет значения.

Я прошел через остальные легкие API и нашел кое-что о том, что ' перезаписывает резервный тип контента по умолчанию для составных сообщений '. Резервный вариант по умолчанию, когда тип контента не найден, это us-ascii. СимволыЯ пытаюсь обработать (é, ..) не существует в us-ascii, поэтому имеет смысл, что они в конечном итоге искажены. Переопределение этого резервного типа содержимого по умолчанию тоже не помогает (см .: http://docs.jboss.org/resteasy/docs/1.2.GA/userguide/html/Multipart.html)

Итак, я прав, когда говорю, что Internet Explorer правильно отправляет тип содержимого + кодировку в заголовке http, поэтому все идет хорошо. И что Firefox все портит, пытаясь отправить тип содержимого / кодировку в сочетании с multipart./ form-data? Я выполнил поиск через stackoverflow, но ни одно из утвержденных решений не работает в моем случае.

Кто-нибудь имел этуконкретная проблема раньше?(загрузка файла multipart / form-data с использованием Jboss rest easy framework)?Что-то еще, что я могу попробовать?

Заранее спасибо!

Янник

...