【问题标题】:How to convert Blob (in Sqlite) to Proper String?如何将 Blob(在 Sqlite 中)转换为正确的字符串?
【发布时间】:2020-03-19 12:51:28
【问题描述】:

我在 SQLite 中将 HTML 文件存储为 Blob 数据,我尝试从 Blob 获取数据,然后我们使用 byte[]转换成 String 并加载 WebView,但问题是一些特殊字符,如盘 Tall – Taller – Tallest 但返回为 Tall �Taller �Tallest,如何解决此问题。

我尝试了以下方法

1:设置数据到list_Item

item.setHtml(cursor.getBlob(2));

2:从list_Item获取数据

String text = new String(item.getHtmlByteArray(), Charset.forName("UTF-8"));

3:然后加载到WebView

webView.getSettings().setDefaultTextEncodingName("UTF-8");
webView.loadData(text, "text/html", "UTF-8");

我不想更改 SQLite 中的存储文本,但我想更改检索文本,请问有什么解决方案吗?

检索文本截图

谢谢

【问题讨论】:

  • HTML 是纯文本。为什么不将其存储为字符串?
  • 是的,Html 是纯文本,但实际上 Sqlite 数据库表包含一个 Blob 格式的列,因此数据以字节数组的形式返回。
  • 当涉及到 sqlite 时,列类型并不重要,但是......不要那样做。改为将其设为文本关联列。

标签: android arrays string sqlite webview


【解决方案1】:

用空字符替换字符串

yourString.ReplaceAll("any special character ",""); 

【讨论】:

    猜你喜欢
    • 2013-06-28
    • 2011-11-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多