3

所以,我终于发现 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() 代替字符可以正常工作。那么,我想现在的问题是“如何将字符转换为这种格式?

4

1 回答 1

1

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

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

于 2013-07-16T00:36:51.830 回答