Tomcat, UTF-8 и не-bmp символы - PullRequest
       24

Tomcat, UTF-8 и не-bmp символы

4 голосов
/ 13 сентября 2011

Я использую веб-приложение на основе GWT на Tomcat 6.0.32.

У меня проблемы с получением URL-адресов, содержащих символы, отличные от BMP (где эти символы содержатся в именах файлов). Любые URL, содержащие символы размером 3 байта или менее, функционируют без проблем.

Например: Имя файла - ? .txt - когда URL кодируется как UTF-8, это% F0% A5% A7% 84.txt

http://localhost:8080/foo/bar/%F0%A5%A7%84.txt?param1=x&param2=y этот конкретный вид не может быть найден

Однако, если имя файла 犬 .txt - когда URL закодирован как UTF-8, это% E7% 8A% AC.txt -

http://localhost:8080/foo/bar/%E7%8A%AC.txt?param1=x&param2=y вид правильно расположен.

У меня server.xml, настроенный в Tomcat для использования URIEncoding = UTF-8 на компьютере с Windows XP.

Кто-нибудь знает какие-либо текущие ограничения в Tomcat 6 в отношении декодирования не-BMP символов?

1 Ответ

1 голос
/ 30 марта 2012

Несколько лет назад была проделана определенная работа по решению остающихся проблем с кодированием (еще в Tomcat 4 дня), поэтому все текущие версии Tomcat должны правильно обрабатывать декодирование любых символов UTF-8, при условии, что URIEncoding = "UTF-8" установлен на разъеме.

Если это не так, возможные причины (в порядке вероятности): - Проблема конфигурации Tomcat (похоже, у вас это отсортировано) - проблема приложения - ОС / конфигурация файловой системы / проблема - Ошибка Tomcat

Если вы уверены, что это ошибка Tomcat, сообщите об этом, и кто-нибудь взглянет.

...