2012-04-15 7 views
0

Facebookで検索するアプリケーションを開発しようとしています。 アラビア語を使用して検索すると、アラビア語の投稿ではなく不正な結果が表示される アラビア語を次のエンコーディング(UTF-8、ISO-8859-6 Windows-1256)、結果は変わりますが、依然として正しくありません。facebookでアラビア語で検索するFacebook APIグラフ

次は私が使用するJavaコードです:

public JSONObject search(String strSearchPhrase, String strType) throws MalformedURLException, IOException { 

    strSearchPhrase = URLEncoder.encode(strSearchPhrase, "ISO-8859-6"); 

    URL searchURL = new URL("https://graph.facebook.com/search?q=" + strSearchPhrase + "&type=" + strType + "&access_token=" + strAccessToken); 

    URLConnection urlCon = searchURL.openConnection(); 

    BufferedReader buffReader = new BufferedReader(new InputStreamReader(urlCon.getInputStream())); 

    String strInputLine; 

    String strOutput = ""; 

    while ((strInputLine = buffReader.readLine()) != null) { 
     strOutput = strOutput + strInputLine; 
    } 
    buffReader.close(); 
    Object objOutput = JSONValue.parse(strOutput); 
    JSONObject jsonOutput = (JSONObject)objOutput; 

    //return data; 
    return jsonOutput; 
} 

それは私にはわからない任意のヘルプやアイデアが

+0

検索するために使用するコードを投稿すると役立ちます。 –

+0

コードが追加されました –

答えて

0

を理解されるであろうアラビア

と英語で正常に動作しなく私はこれを試しました:

curl "https://graph.facebook.com/search?q=محمود‎&type=user&access_token=xxxx" 

そして、それはうまくいったようですnはこのフォーム: "\ u0645 \ u062d \ u0645 \ u0648 \ u062f"

私はこの試みる

curl "https://graph.facebook.com/search?q=bob&type=user&access_token=xxxx" 

結果は定期的に英語の文字を持っています。私は多分あなたのエンコーディングが間違って何であると考えてい

は、多分試してみてください。それが動作するかどうか

URLにアラビア文字列をハードコードされ
URL searchURL = new URL("https://graph.facebook.com/search?q=محمود‎&type=" + strType + "&access_token=" + strAccessToken); 

、確認してください。

+0

お世話になりましたが、結果は間違いです。あなたはこのプロフィールを開くことができます、それは最初の結果ですhttps://www.facebook.com/100001552568248 –

+0

何のための最初の結果?私はアラビア語を理解していないので、あなたが何を意味するのか分かりません。 –

+0

あなたの検索urlは "محمود"という名前の人物を検索しますが、この検索結果にはこの名前が含まれていないため、検索がうまくいかなかったことを意味します –