0

我正在从 URL 读取内容并修改字符串并再次在 Webview 中加载数据。但它无法正确加载。附加屏幕截图。随便猜

WebSettings settings = webView.getSettings();
        settings.setDefaultTextEncodingName("utf-8");
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) {
            String base64 = Base64.encodeToString(benefitsCore.getBytes(), Base64.DEFAULT);
            webView.loadData(base64, "text/html; charset=utf-8", "base64");
        } else {
            String header = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
            webView.loadData(header + benefitsCore, "text/html; chartset=UTF-8", null);
        }

在此处输入图像描述

private String rzBenefitsCoreText() {
    String rzCoreText = null;
    try {
        URL url = new URL(getActivity().getResources().getString(R.string.bby_rz_sliver_benefits_url));
        BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));//"ISO-8859-1")
        StringBuilder builder = new StringBuilder();
        String inputLine;
        while ((inputLine = br.readLine()) != null)
        builder.append(inputLine);
        rzCoreText = builder.toString().replace("Silver member", "Core member");
        Log.i("Data:", rzCoreText);
        br.close();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return rzCoreText;
}
4

1 回答 1

0

我有同样的问题。它基于您手机上的字体。我的意思是,如果您在调试器中查找字符串,则没有任何问题,但是在我的情况下,字体并未涵盖与我的文本相关的所有 unicode 字符,因此某些字符无法正确显示,就像您的那样。可能使用其他字体可以帮助您解决这种情况。

于 2013-08-23T06:50:11.540 回答