【发布时间】:2017-12-29 15:19:02
【问题描述】:
我用谷歌搜索了很多,但我无法找到解决问题的方法。我需要对 mailto 进行编码:在 java 中将主题和正文链接到 UTF-8。
正文由纯文本组成
有没有什么方法可以编码:
- UTF-8 中的整个字符串,例如 Ä 到 %C3%84S
- 空白进入 %20 而不是 +
- \r\n 进入 %0D%0A
- / 到 %2f
感谢您的帮助!
【问题讨论】:
标签: java email utf-8 urlencode mailto
我用谷歌搜索了很多,但我无法找到解决问题的方法。我需要对 mailto 进行编码:在 java 中将主题和正文链接到 UTF-8。
正文由纯文本组成
有没有什么方法可以编码:
感谢您的帮助!
【问题讨论】:
标签: java email utf-8 urlencode mailto
您需要URLEncode.encode(String s, String enc) 方法。第二个参数应该是字符串UTF-8。
它确实将空格编码为+,而不是%20,这对查询参数有效;你总是可以只是特殊情况,并用后者替换所有前者。示例:
import java.net.URLEncoder;
import java.util.regex.Pattern;
public class Foobar {
private static Pattern space = Pattern.compile("\\+");
public static void main(String[] args) throws Exception {
String first = URLEncoder.encode("Ä+ \r\n/", "UTF-8");
String second = space.matcher(first).replaceAll("%20");
System.out.println(second);
}
}
这个输出:
%C3%84%2B%20%0D%0A%2F
【讨论】:
%20 表示空格。