0

http 呼び出しを使用して、アプリに関する情報をユーザーのウォールに投稿しています。私はこのようにします:

_url = "https://graph.facebook.com/" + user_id + "/feed?message=MSG";

_url += "&access_token=" + access_token;

_url += "&picture=" + fb_app_url + "fb_icon.png";

_url += "&name=" + String_ToUrl("MY GAMES");

_url += "&link=" + "http://www.nlkgames.com";

_url += "&description=String_ToUrl("descripción with accent")"

_url += "&method=post";

http.URL_CALL(_url);

この方法では、ユーザーのウォールに情報が正しく投稿されますが、アクセントは疑問符の付いたひし形で示されます。アクセントで機能させる方法がわかりません。

String_ToUrl は、次のように文字列をエンコードします。

私の失敗は何ですか?ユーザーの Facebook の壁が urlencoded を認識しないのはなぜですか?

4

3 に答える 3

0

URL 用にエンコードする代わりに、説明をそのまま投稿するとどうなりますか?

それでもうまくいかない場合は、HTML エンティティを使用して文字列を変換してから、説明を URL エンコードしてみてください。

于 2012-05-28T16:23:57.650 に答える
0

関数は、Unicode 対応の方法String_ToUrlで URL をエンコードしません。

ó(別名'LATIN SMALL LETTER O WITH ACUTE' (U+00F3) ) は%C3%B3URL エンコードされた形式になる必要があり、そうではありません%F3(あなたの場合、それが%E9実際にどのé文字になったかを示しました)。

descripción -> descripci%C3%B3n

パラメータをエンコードするには、必ず適切な (および Unicode 対応の) 方法を使用してください。たとえば、JavaScript をencodeURIComponent使用する必要があります...

于 2012-05-29T18:04:12.593 に答える
0

これらの文字を ASCII 表現 (\u123 のようなもの) に置き換えることもできます。これは、そのような特殊文字がある場合に Graph API が提供するものです (私の場合、ドイツ語のアルファベットの äöü になります)。

于 2012-05-28T20:39:16.137 に答える