Android 获取文本的Mimetype和编码字符集?

Android 获取文本的Mimetype和编码字符集?,android,character-encoding,webview,mime-types,Android,Character Encoding,Webview,Mime Types,大家好,, 我正在从数据库中提取文本,在将文本插入数据库之前,我知道文本的编码是ISO-8859-1,但在从数据库中提取文本之后,在加载此文本之前,我正在通过此代码检查编码 InputStreamReader is = new InputStreamReader(new ByteArrayInputStream(body.getBytes())); is.getEncoding(); Log.v("encoding", ""+is.getEncoding()); // String bo

大家好,, 我正在从数据库中提取文本,在将文本插入数据库之前,我知道文本的编码是ISO-8859-1,但在从数据库中提取文本之后,在加载此文本之前,我正在通过此代码检查编码

InputStreamReader is = new InputStreamReader(new ByteArrayInputStream(body.getBytes()));
is.getEncoding();   
Log.v("encoding", ""+is.getEncoding());

// String body =  fetched from db 
我在日志中得到的文本编码是UTF-8。并且此文本不会使用此方法加载到webview上:

mailView.loadDataWithBaseURL(null, body, "text/html", "UTF-8", null);

请给我一个正确的方法来解决这个问题。

这个回复太晚了,但是我在谷歌上偶然发现了这个问题,所以我想我会回答的

如JavaDoc中所述,
newInputStreamReader(InputStream)
将创建一个具有系统默认值(显然是UTF-8)的读取器
is.getEncoding()
只是返回默认值,该值可能与存储的数据匹配,也可能与存储的数据不匹配

通常,明确指定流的编码是一个好主意。这意味着您需要将编码与内容一起存储。您可以使用带外知识(例如,我的应用程序仅使用ISO-8859-1),但如果您在将来更改所选的编码,这将很脆弱


因为世界并不总是一个美好的地方,字符串与它们的字符集分离,所以您可以查看字符集检测器。请参见示例。

参考此链接以从字符串thx加载webview以获取帮助,但此链接无法解决我的问题,我的问题是我想获取文本的字符集,当我将该文本的内容类型(此文本来自邮件)记录为“text/HTML;charset=“ISO-8859-1”时,我得到了它.但是当我使用问题中给出的代码时,日志显示它是UTF-8。UTF-8内容必须加载到webView上,而此文本不会加载到webView上。我的问题是如何在webview上加载此内容??为我提供一种获取文本准确编码信息的方法,如果不是,我如何将其更改为UTF-8??