5

次のコードを使用して、アセット フォルダーにある html ファイルをエンコードしています。ここでさまざまなリンクを実行しましたが、成功しませんでした。これが私のコードです。

 WebSettings settings = myWebVeiw.getSettings();
    //settings.setJavaScriptEnabled(true);
    //myWebVeiw.getSettings().setJavaScriptEnabled(true);
    settings.setDefaultTextEncodingName("utf-8");
    //settings.setDefaultTextEncodingName("ISO-8859-1");

    myWebVeiw.loadUrl("file:///android_asset/"+totaldays+".html"); 

他の文字に対しては機能しますが、Web ビューで同じように印刷されるため、エンコードできません。何をすべきか教えてください。

どんな助けでも大歓迎です。

4

3 に答える 3

11

WebSettings のデフォルトのテキスト エンコーディングを utf-8 に設定する必要があります。そして、htmlヘッダーの文字セットをutf-8に強制した後。例:

String htmlText = "<html> your page here </html>";
WebView web = (WebView) findViewById(R.id.webview); // get your webview from the layout
WebSettings settings = web.getSettings();
settings.setDefaultTextEncodingName("utf-8");
web.loadData(htmlText, "text/html; charset=utf-8", "utf-8");

これは、Android 2.2.1、4.0.4、および 4.1.2 で機能します。

于 2013-03-24T22:41:37.940 に答える
1

試してみてください:

myWebVeiw.loadDataWithBaseURL("file:///android_asset/"+totaldays+".html", null, "text/html", "utf-8",null);
于 2013-01-23T07:16:03.500 に答える
0

webViewにあまり詳しくありません。ただし、ブラウザは次のhtml文字セットエンコーディングを解析します。1。最初の文字セット。したがって、totaldays.htmlを確認してください。2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 。内容に応じて。

于 2013-01-23T07:17:41.887 に答える