当链接具有土耳其语字母时,Jsoup连接无法正常工作

Erd*_*mir 6 java turkish jsoup

我正在使用Jsoup从网站获取HTML.我正在使用

String url="http://www.example.com";
Document doc=Jsoup.connect(url).get();
Run Code Online (Sandbox Code Playgroud)

这个代码来获取HTML.但是当我在这样的链接中使用一些土耳其字母时;

String url="http://www.example.com/?q=Türkçe";
Document doc=Jsoup.connect(url).get();
Run Code Online (Sandbox Code Playgroud)

Jsoup发送这样的请求: "http://www.example.com/?q=Trke"

所以我无法得到正确的结果.我怎么解决这个问题?

Mar*_*szS 5

工作解决方案,如果编码UTF-8然后只是使用

Document document = Jsoup.connect("http://www.example.com")
        .data("q", "Türkçe")
        .get();
Run Code Online (Sandbox Code Playgroud)

结果

URL=http://www.example.com?q=T%C3%BCrk%C3%A7e
Run Code Online (Sandbox Code Playgroud)

对于自定义编码,可以使用:

String encodedUrl = URLEncoder.encode("http://www.example.com/q=Türk&#231e", "ISO-8859-3");
String encodedBaseUrl = URLEncoder.encode("http://www.example.com/q=", "ISO-8859-3");
String query = encodedUrl.replace(encodedBaseUrl, "");

Document doc= Jsoup.connect("http://www.example.com")
        .data("q", query)
        .get();
Run Code Online (Sandbox Code Playgroud)