当前位置:  开发笔记 > 前端 > 正文

在WebView中显示iso-8859-1编码的内容

如何解决《在WebView中显示iso-8859-1编码的内容》经验,为你挑选了1个好方法。

我从SQlite数据库中获取HTML编码内容,我想在WebView中显示.我目前正在使用:

public class ShowAbstracts extends Activity {
 public void onCreate(Bundle savedInstanceState) 
 {
    super.onCreate(savedInstanceState);
    Bundle extras = getIntent().getExtras();
    if (extras != null) {
         String body = extras.getString(DatabaseHelper.KEY_BODY);
         WebView webview = new WebView(this);
         setContentView(webview);
         String summary = " "+body+" ";
         webview.loadData(summary, "text/html", "iso-8859-1");
    }   
 }
}

它起作用,它打开一个WebView并显示内容,但我得到奇怪的字符,对于一些内容,它只是崩溃.数据库采用ISO-8859-1编码.有没有办法处理我的数据库内容中的特殊字符并正确显示它们?

首先十分感谢!

里克



1> user750206..:

成功!

解决这个问题是三件事的组合:

    uri编码字符串

    在标识utf-8编码的HTML字符串中粘贴头部

    安装LibreOffice,允许将用于生成SQLite数据库的xls文件保存为带有utf-8编码的csv文件(据我所知,不能从MS Office Excel中获知).

.

 public class ShowAbstracts extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
           String body = extras.getString(DatabaseHelper.KEY_BODY);
           WebView webview = new WebView(this);
           setContentView(webview);
           String summary = ""+body+" ";
           String uri = Uri.encode(summary);
           webview.loadData(uri, "text/html", "utf-8");
        }   
    }
}

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有