showDocument()带有非标准(中文)字符

时间:2013-07-15 23:11:57

标签: java javafx-2 javafx

因此,我终于发现JavaFX允许您使用HostServices.showDocument(uri)打开给定URL的浏览器。我遇到了一个问题;我无法打开包含中文字符的网址。它只能将它们解释为“?”,将您带到错误的网址。 AWT的Display.browse(uri)处理字符没有问题,所以我知道它可以在技术上传达给浏览器。我不确定我能做什么,不管怎么说。

我的问题是:有没有办法让JavaFX的HostServices.showDocument()正确读取中文字符?

编辑: 样品串
http://www.mdbg.net/chindict/chindict.php?page=worddict&wdrst=0&wdqb=%E6%96%87

您可以点击链接查看地址'中文字符(位于网址的最后)。所以在这样做时,我注意到它将角色转换为一系列%,字母和数字。将它们插入到showDocument()中代替字符可以正常工作。那么,我想现在的问题是“如何将字符转换为这种格式?”

1 个答案:

答案 0 :(得分:1)

我能够弄清楚将字符串转换为URI,然后使用.toASCIIString()方法给了我所需要的东西。 (转换中文字符,我会假设其他人,转换为showDocument()可读的内容。感谢jewelsea的帮助。

如果有更好的方法,请随时给我另一个答案。