0

私はデータを取得するために AQuery を使用しています。ソース エンコーディング Windows-1251 は最初の表示ではすべて問題ありませんが、データがキャッシュから取得された後、正しいエンコーディングが得られません。

そうです

String url = "http://example.com/";
long expire = 15 * 60 * 1000;
aq.ajax(url, String.class, expire, new AjaxCallback<String>() {

    @Override
    public void callback(String url, String html, AjaxStatus status) {

        Log.i("DATA",html);

    }

});

説明書にはそう書いてある

カスタム エンコーディングが必要な場合は、encoding() メソッドを使用してエンコーディングを修正します。

それも試してみましたが、うまくいきませんでした

byte[] b = html.getBytes(Charset.forName("cp1251"));

try {
    html = new String(b, "UTF-8");
    } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
    }

この問題に直面した誰かが、AQuery または文字列を UTF-8 にエンコードする方法 > CP1251 を意味する可能性があります。

4

1 に答える 1

0

これは私のために働く:

long expire = 15 * 60 * 1000;

AjaxCallback<String> cb = new AjaxCallback<String>();
cb.url(url).type(String.class).weakHandler(this, "DataResponse").fileCache(true).expire(expire).encoding("Cp1251");

cb.header("Referer", "http://code.google.com/p/android-query/");
cb.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");

aq.ajax(cb);
于 2014-06-26T01:34:04.783 に答える