Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用特殊字符从java调用url_Java_Url_Character Encoding_Utf8 Decode - Fatal编程技术网

使用特殊字符从java调用url

使用特殊字符从java调用url,java,url,character-encoding,utf8-decode,Java,Url,Character Encoding,Utf8 Decode,我有一个带有特殊字符的URL,我喜欢请求它,但JAVA无法识别该URL。 URL:http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&titles=Iași&redirects=&lllimit=400(特殊字符来自单词Iași) 我的Java代码: String sWikiID="Iași"; String sArticleEncoded = URLEncoder.encode(sWikiID); String sURL

我有一个带有特殊字符的URL,我喜欢请求它,但JAVA无法识别该URL。 URL:
http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&titles=Iași&redirects=&lllimit=400
(特殊字符来自单词Iași)

我的Java代码:

String sWikiID="Iași";
String sArticleEncoded = URLEncoder.encode(sWikiID);
String sURL = "http://" + sFromLang + ".wikipedia.org" + "/w/api.php?action=query&prop=langlinks&titles=" + sArticleEncoded + "&redirects=&lllimit=400";
URL url = new URL(sURL);
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));

有什么提示吗?

您没有定义什么是sFromLang,但请检查这是否适用于您:

public static void main(String[] args) throws IOException {

    String sFromLang="<add the value here>";
    String sWikiID="Iași";
    String sArticleEncoded = URLEncoder.encode(sWikiID, "UTF-8");
    String sURL = "http://" + sFromLang + ".wikipedia.org" + "/w/api.php?action=query&prop=langlinks&titles=" + sArticleEncoded + "&redirects=&lllimit=400";
    URL url = new URL(sURL);
    BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
}  
publicstaticvoidmain(字符串[]args)引发IOException{
字符串sFromLang=“”;
字符串sWikiID=“Iași”;
字符串sArticleEncoded=URLEncoder.encode(sWikiID,“UTF-8”);
String sURL=“http://”+sFromLang+”.wikipedia.org“+”/w/api.php?action=query&prop=langlinks&titles=“+sArticleEncoded+”&redirects=&lllimit=400”;
URL=新URL(sURL);
BufferedReader=新的BufferedReader(新的InputStreamReader(url.openStream(),“UTF-8”);
}  

在您的请求中使用UTF-8或将ș替换为%C8%99

另外,不要使用.encode(字符串)。它已被弃用。相反,使用.encode(字符串,encode)

:)

辛迪