Java Jsoup connect不';当链接包含土耳其语字母时,无法正常工作

Java Jsoup connect不';当链接包含土耳其语字母时,无法正常工作,java,jsoup,turkish,Java,Jsoup,Turkish,我正在使用Jsoup从web站点获取html。我正在使用 String url="http://www.example.com"; Document doc=Jsoup.connect(url).get(); 此代码用于获取html。但是当我在链接中使用一些土耳其语字母时,就像这样 String url="http://www.example.com/?q=Türkçe"; Document doc=Jsoup.connect(url).get(); Jsoup发送请求的方式如下:“http

我正在使用
Jsoup
从web站点获取html。我正在使用

String url="http://www.example.com";
Document doc=Jsoup.connect(url).get();
此代码用于获取html。但是当我在链接中使用一些土耳其语字母时,就像这样

String url="http://www.example.com/?q=Türkçe";
Document doc=Jsoup.connect(url).get();
Jsoup发送请求的方式如下:
“http://www.example.com/?q=Trke“

所以我不能得到正确的结果。我如何解决这个问题?

我在谷歌上找到了这个: 也许你可以这样加上:

 String url="http://www.example.com/?q=Türk&#231e";
 Document doc=Jsoup.connect(url).get();

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

Document document = Jsoup.connect("http://www.example.com")
        .data("q", "Türkçe")
        .get();
结果

URL=http://www.example.com?q=T%C3%BCrk%C3%A7e
对于自定义编码,可以使用以下方法:

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();

根据,URL中不允许使用Unicode字符。我们习惯于看到它们,因为浏览器在地址栏中显示它们,但它们不会被发送到服务器

在将路径传递到
JSoup
之前,必须对路径进行URL编码。
Jsoup.connect(“http://www.example.com数据(“q”、“Türkçe”)
正如MariuszS所建议的那样

是的,我以前试过。但它不起作用。字符串url=“”;当我听到这个。它以字符串url“”的形式发送;对不起,这是我唯一的想法:)@ErdinçÖzdemir对不起,我把我的帖子弄乱了,哪一个有效:)编码是UTF-8。第二个答案是正确的。