gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 07:39:29 25 4
gpt4 key购买 nike

我正在从 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 = "<html><body> "+body+" </body></html>";
webview.loadData(summary, "text/html", "iso-8859-1");
}
}
}

它的工作原理是它打开一个 WebView 并显示内容,但我得到奇怪的字符并且对于某些内容它只是崩溃。数据库采用 ISO-8859-1 编码。有什么方法可以处理我的数据库内容中的特殊字符并正确显示它们吗?

非常感谢!

瑞克

最佳答案

成功!

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

  1. uri 编码字符串
  2. 在识别utf-8编码的HTML字符串中粘贴一个head
  3. 安装 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 = "<?xml version='1.0' encoding='utf-8'?><html><body>"+body+" </body></html>";
String uri = Uri.encode(summary);
webview.loadData(uri, "text/html", "utf-8");
}
}
}

关于android - 在 WebView 中显示 iso-8859-1 编码的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5975368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com