0

我的 URL 字符串有两部分,第一部分是

http://abcabc.com/xyz/mmm/lorum/

第二个是“abc def ghi”,这是我使用的最后一部分

URLEncoder.encode("abc def ghi","utf-8");

这将返回“abc+def+ghi”

最终到达网址变为

http://abcabc.com/xyz/mmm/lorum/abc+def+ghi

哪个是错的,应该是

http://abcabc.com/xyz/mmm/lorum/abc%20def%20ghi

有什么建议么?

4

1 回答 1

3

来自维基百科

当提交已输入 HTML 表单的数据时,表单字段名称和值将被编码并使用方法 GET 或 POST 或过去通过电子邮件在 HTTP 请求消息中发送到服务器。2默认使用的编码基于通用 URI 百分比编码规则的早期版本,并进行了一些修改,例如换行规范化和用“+”代替“%20”替换空格

所以 + 是编码空格的有效方式。

顺便说一句,这是明确记录的:

HTML 表单编码的实用程序类。此类包含用于将 String 转换为 application/x-www-form-urlencoded MIME 格式的静态方法

[...]

空格字符“”转换为加号“+”。

于 2012-10-08T20:09:05.857 回答