我已经阅读了所有Java URL编码线程,但仍然没有找到解决我问题的方法:Google Chrome将“BŒUF”编码为“B%8CUF”POST数据,非常棒。我怎样才能说服Java做同样的事情呢? (如果这很重要,网站为<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
和<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
。)
System.out.println(URLEncoder.encode("BŒUF", "utf-8"));
System.out.println(URLEncoder.encode("BŒUF", "iso-8859-1"));
System.out.println(URLEncoder.encode("BŒUF", "iso-8859-15"));
System.out.println(new URI("http","www.google.com","/ig/api","BŒUF", null).toASCIIString());
打印
B%C5%92UF
B%3FUF
B%BCUF
http://www.google.com/ig/api?B%C5%92UF
但不是“B%8CUF”?
答案 0 :(得分:2)
您是专门寻找windows-1252
编码 而非 UTF-8
:
System.out.println(URLEncoder.encode("BŒUF", "windows-1252"));
给出,
B%8CUF