Tohle by vám snad mělo fungovat všude: response.sendRedirect(java.net.IDN.toASCII(sURL)); Váš problém je v tom, že funkce response.sendRedirect(sURL); provede chybně konverzi, protože máte nastaveno chybně kódování na serveru (není UTF-8). Dá se to vyřešit pomocí filtru viz. http://wiki.apache.org/tomcat/FAQ/CharacterEncoding. Druhý problém je ten, že browser (a nejen on) musí podporovat národní znaky domén (běžně používané s tím nemají problém IE tuším od verze 7, FF3 atd.) což lze řešit konverzí IDN. Funkce java.net.IDN.toASCII(sURL) vám vyřeší problémy oba. Správné by asi bylo, mít nastaveno UTF-8 pro běh stránek, například pomocí filtru a konverze IDN pak "asi" nebude potřeba.
Petr PS: Jenom bych ještě upozornil na to, že funkcí java.net.IDN.toASCII konvertujte pouze doménu, cesta a parametry s tímto překódováním vám pravděpodobně způsobí chyby při zpracování. 2011/9/22 Radovana Straube <[email protected]> > Doplnila som kodovanie do stranky, URL som prekonvertovala pomocou IDN. Na > Tomcate, ktory standardne pouziva UTF-8, presmerovanie funguje. Bohuzial > zakaznikov Tomcat ma ako standardne kodovanie ISO-8859-1, ktore nemozem > menit. Neviem co mam este v programe nastavit na UTF-8, aby IDN konverzia > fungovala aj tam. > > Dakujem > Radovana Straube > ------------------------------ > *From:* Petr Franta <[email protected]> > *To:* Java <[email protected]> > *Sent:* Thursday, September 22, 2011 8:45 PM > *Subject:* Re: diakritika v nazve domeny a presmerovanie > > Pravděpodobně vám neběží stránky v UTF-8, protože správně je kódovaný text > v UTF8 je *baf%C3%B6g* a ne *baf%f6g*. Pokud uděláte redirect na > http://www.xn--bafg-7qa.de, tak by to mělo fungovat vždy (IDN konverze). > Mrkněte jestli je JSP stránka uložená v UTF-8, doplňte správné kódování do > stránky <%@page pageEncoding="UTF-8" %> > > Petr > > 2011/9/22 Radovana Straube <[email protected]> > > Dobry den, > > tym, ze bola povolena diakritika v nazvoch domen, sme narazili na > nasledovny problem. Pri presmerovani na stranku, ktora ma v nazve > diakritiku, pomocou response.sendRedirect(), v IExplorer a Chrome funguje > vsetko spravne, kdezto Firefox nazov domeny este zakoduje - napriklad z > http://www.bafög.de <http://www.xn--bafg-7qa.de> spravi http://www.baf% > f6g.de a preto je presmerovanie neuspesne. > JSP-stranka, s ktorou sme toto spravanie testovali je v prilohe. Stretol sa > uz niekto s takymto problemom? Da sa to nejak vo Firefoxe obist? > Googlovanim sme len zistili, ze URL musi byt kodovane v UTF-8 a to je > bohuzial vsetko. > > Radovana Straube > > > > >
