【发布时间】: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