У меня проблемы с отправкой перенаправлений в сервлет с Unicode-URL.
т.е. рассмотрим следующий URL на турецком
http://türkçeisimtescil.com
Это работает, если вы вставите его в адресную строку браузера. Однако это переводится на
http://xn - trkeisimtescil-ijb74a.com
вашим браузером по вашему запросу.
Допустим, у меня есть первый URL с характерными для UTF8 символами, и я успешно получил его из БД. Я хочу перенаправить свой сервлет на этот URL.
Однако, когда я просто делаю response.sendRedirect(url);
(в соответствии с заголовками), он перенаправляет меня на www.t%1frk%e7eisimtescil.com
Я пробовал даже response.sendRedirect("http://www.t\u011Frk\u00E7eisimtescil.com");
(встроенное кодирование), и ответ точно такой же.
Возможно, если я получу türkçeisimtescil.com в заголовках, браузер преобразует его в формат xn--..
, и это будет успешно.
Я не мог понять, где кодировка сломалась. Любая помощь приветствуется.