簡體   English   中英

無法在Android WebView中顯示某些UTF-8字符

[英]Can't show certain UTF-8 characters in android webview

我知道這個問題已在其他地方記錄,但解決方案似乎對我不起作用。 其他類似問題:

帶有亂碼的UTF-8字符的Android WebView。

Android WebView UTF-8不顯示

我實質上是想在Android Webview中顯示減號/加號(∓)。 我在UTF-8表中測試了負號附近的其他幾個字符,但其中一些也不起作用

這是java im使用:

final WebView w = (WebView) findViewById(R.id.webview1);
w.getSettings().setJavaScriptEnabled(true);
w.getSettings().setDefaultTextEncodingName("utf-8");        

InputStream is;
try {
    is = getAssets().open("test5.html");

    int size = is.available();

    byte[] buffer = new byte[size];
    is.read(buffer);
    is.close();

    String str = new String(buffer);

    w.loadData(str, "text/html; charset=utf-8", "utf-8");

這是html test5.html

<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
    char: ∓ <br/>
    char: ∔ <br/>
    char: ∕ <br/>
    char: ∖ <br/>
    char: ∗ <br/>
    char: ∘ <br/>
</body>

出現的唯一字符是“ ∕”和“ *”。 我也嘗試過

w.loadDataWithBaseURL("file:///doesnotmatter", str, "text/html", "utf-8", "");

沒有成功。 我對輸入流內容不太熟悉,所以我不知道那里是否有問題。 請幫助,它花了我一段時間= \\

-Teneth

調用loadData()時 ,將編碼以大寫形式“ UTF-8”傳遞,因為它區分大小寫,並且是文檔中的標准表示形式。

在html文件中對該字符使用html代碼:

<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
   char: &#8723;<br/>
   char: &#8724;<br/>
   char: &#8725;<br/>
   char: &#8726;<br/>
   char: &#8727;<br/>
   char: &#8728;<br/>
</body>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM