java - 使用 Java 处理 URL 中的特殊字符

标签 java url gwt

我编写了一个 Java 程序来生成基于从 k3b 翻录的 CD 的 m3u 文件,该文件几乎保留了艺术家、专辑和轨道名称中的特殊字符编码。然后,我将这些 m3u 文件放在服务器上并生成一个 GWT Web 应用程序,其中 m3u 文件名是 HTML anchor 标记的目标。对于 99% 以上的情况,这一切都很完美。在某些情况下,特殊字符会导致链接失败。

Movits就是一个失败的例子!专辑 Äppelknyckarjazz (请注意第一个字符由 URI 构造函数编码为 %C3%84)。由于客户端是 GWT,查看源代码不会显示链接,:-( 但是当鼠标悬停在链接上时,Firefox 显示正确解码的 URL。单击链接时,Firefox 会失败并显示:“...àppelknyckarjazz.m3u was在此服务器上找不到”这就好像不同的字符编码方案正在发挥作用,但坦率地说,在试图解开这个级别的谜题时,我的大脑正在受伤。

所以确实有两个问题:

1)我的问题是编码方案问题吗?

2) 假设是这样,考虑到应用程序的各个部分(Java m3u 生成器、GWT 客户端、Firefox 浏览器、Apache Web 服务器),我如何保持一致性。

最佳答案

String result = java.net.URLEncoder.encode("Äppelknyckarjazz", "UTF-8");

我认为这对您来说是一个解决方案。

关于java - 使用 Java 处理 URL 中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1450973/

相关文章:

Java矩形碰撞检测混淆

security - 为什么/如何域 URL 显示客户端的本地主机地址?

css - GWT DataGrid 更改行字体大小

android - 如何检查 url 是否加载到 webview 中

gwt - 是否可以使用 GWT GeneratorContext 找到所有使用 @MyAnnotation 注释的类?

java - libgdx AssetManager 无法仅在 html5 上加载资源

java - 当我尝试运行此应用程序时出现 setOnClickListener 错误

java - 尝试从数据库(android)获取数据时内存耗尽

java - 类对象数组并在 foreach 循环中访问

ruby-on-rails - Rails当前网址帮助器