AQuery(Android Query)数据来自缓存错误编码

时间:2014-06-25 14:03:45

标签: java android character-encoding aquery

我用来获取数据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&gt; CP1251

PS道歉英语:)

1 个答案:

答案 0 :(得分: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);