我用来获取数据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道歉英语:)
答案 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);