ウィキペディアのテキストを処理するコードを書いていますが、ダッシュが文字化けする問題があります。私はこれまでダッシュやその他の非標準の文字を使用したことがないので(キーボードに表示されない文字である私にとっては非標準です;)、自分が何であるかをどこに向ければよいかわかりません。間違ったこと。これが、コードスニペットとともに何が起こっているかです。
記事の内容についてウィキペディア(ウィキペディアとの通信にApache HttpComponentsクライアントAPIを使用しています)にリクエストを送信し、文字列に保存します。
DefaultHttpClient client = new DefaultHttpClient();
HttpGet queryRequest = new HttpGet(query); // query is the URL for retrieving the article contents.
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = client.execute(queryRequest, responseHandler);
この時点で、「responseBody」をSystem.outに送信すると、ダッシュがEclipseコンソールに「?」として表示されます。これはEclipseコンソールの表示の問題である可能性があるため、次に進みます。
ダッシュを無視してテキストを操作し、テキストをWikipediaに送り返します。
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
postParams.add(new BasicNameValuePair("text", content); // content is a String with the article text
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(postParams, "UTF-8");
HttpPost queryRequest = new HttpPost(url); // url is the basic URL for the Wikipedia api
queryRequest.setEntity(entity);
queryRequest.addHeader("Content-Type", "application/x-www-form-urlencoded");
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = client.execute(queryRequest, responseHandler);
ウィキペディアにアップロードされたテキストがWebブラウザーに表示されると、以前はダッシュで表示されていたものが「?」として表示されるようになりました。ボックス内(不明な文字?)。したがって、どこかで誤ってダッシュを変更したり、誤ってコーディングしたりしていますが、正確な場所はわかりません。
誰かが私を正しい方向に向けることができますか?