6

我在与主机名中有一些重音符号 (é è ô...) 的服务器建立连接时遇到问题。

例如 :

String oUrl = "www.hôtel.fr";   
System.out.println(oUrl);
InetSocketAddress isa = new InetSocketAddress(oUrl.toString(), 80);
System.out.println(isa.isUnresolved());

ISA 永远无法解决。它适用于 www.google.fr。

我尝试对主机进行 URLEncode(使用 UTF-8 字符集的 URLEncoder,因此主机名是 www.h%C3%B4tel.fr),但没有结果。

有人有一些线索吗?我在网上找不到任何东西。

谢谢和对不起我的英语。

4

1 回答 1

4

在域名中,变音符号、重音符号等必须通过punycode进行转换。在您的示例中,它将以http://www.xn--htel-vqa.fr/. 如果没有经过测试,IDN类可能会有所帮助。

于 2012-08-22T14:58:05.507 回答