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 に答える