java.net.URI engasga com caracteres especiais na parte do host

Eu tenho uma seqüência de caracteres URI como o seguinte:

http: //www.christlichepartei%F6sterreichs.at/steiermark/

Estou criando uma instância java.lang.URI com essa string e ela é bem-sucedida, mas quando eu quero recuperar o host, ela retorna nula. O Opera e o Firefox também engasgam com este URL se eu o inserir exatamente como mostrado acima. Mas a classe URI não deve lançar uma URISyntaxException se for inválida? Como posso detectar que o URI é ilegal então?

Ele também se comporta da mesma maneira quando decodifico a string usando URLDecoder, que gera

http: // www.christlicheparteiösterreichs.at / steiermark /

Agora isso é aceito pelo Opera e Firefox, mas o java.net.URI ainda não gosta. Como posso lidar com esse URL?

obrigado

questionAnswers(3)

yourAnswerToTheQuestion