2013-07-15 27 views
3

所以,我终于发现JavaFX可以让你使用HostServices.showDocument(uri)打开浏览器给定的url。尽管我遇到了问题;我无法打开包含中文字符的网址。它只能将它们解释为'?',将您带到错误的网址。 AWT的Display.browse(uri)可以毫无问题地处理字符,所以我知道它可以在技术上传达给浏览器。我不确定是否有任何事情可以在我的结束或不是。showDocument()与非标准(中文)字符

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

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

您可以按照链接识破地址中国性格(在URL的尽头)。所以在这样做的时候,我注意到它将字符转换为一系列的%,字母和数字。将这些插入showDocument()代替字符可以正常工作。那么,我想现在的问题是“如何将字符转换为这种格式?”

+0

我建议记录一个针对[JavaFX运行时项目](https://javafx-jira.kenai.com)的错误,其中包含一个示例uri和运行时环境的描述。您还可以编辑您的问题以包含您的uri所以有人可以尝试代表授予您的问题。 – jewelsea

+0

会做,谢谢。 – SwR

+0

这对一些巴西葡萄牙人来说也是一个问题。 – Ramiro

回答

1

我能弄清楚将字符串转换为URI,然后使用.toASCIIString()方法给了我什么(将中文字符转换成showDocument()可读的内容,谢谢帮助jewelsea。

如果还有更好的方法可以做到这一点,请随时给我另一个答案