【问题标题】:URL decoding resulting in question marks in tomcat [duplicate]URL解码导致tomcat中出现问号[重复]
【发布时间】:2016-12-11 20:33:20
【问题描述】:

我正在调用这样的网址:

http://localhost:8080/abc/income?content=%E0%B6%B8%E0%B6%9C%E0%B7%99+%E0%B6%B1%E0%B6%B8+%E0%B6%BD%E0%B6%9A%E0%B7%8A%E0%B6%B8%E0%B7%8F%E0%B6%BD%E0%B7%8A.&SOURCE_PRV=%20HTTP/1.1

在后端(tomcat)我正在解码字符串。

但我得到的内容是“??? ?? ???????” (几个问号)。

我该如何解决这个问题?

【问题讨论】:

  • 显示你的解码代码。
  • 请求标头应包含带有编码的标头,该标头应用于 URL 编码。将其用于 URL 解码。这里似乎可能缺少request.setCharacterEncoding("UTF-8");,一件事:确保您看到的问号确实是:转储字符串的代码点等。也许输出编码为 ISO-8859-1。
  • 欢迎来到 Stack Overflow!我尽可能地编辑了你的问题。但是,添加代码和描述,以便更多具有该主题知识的人看到它。请在您遇到的特定错误消息中进行编辑,以防有必要识别特定问题。祝你好运!

标签: java http tomcat tomcat8 urldecode


【解决方案1】:

java.net.URI 类可以提供帮助;在您找到的 URL 文档中

使用具有多个参数的构造函数之一,例如:

URI uri = new URI(
    "http", 
    "search.barnesandnoble.com", 
    "/booksearch/first book.pdf",
    null);

URL url = uri.toURL();
//or String request = uri.toString();

【讨论】:

  • 它不起作用。 tomcat里面有配置吗?
猜你喜欢
  • 2013-11-03
  • 2011-10-17
  • 2012-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-11
  • 2014-04-12
相关资源
最近更新 更多