我想在webview中显示颜色,范围,字体等。因此数据来自php webservice.Due解析数据时我们使用UTF-8格式对其进行编码。我成功解析数据并插入数据库但是这里的问题是,当我想在webview中显示该数据时,它包含一些特殊字符,如"<span style=\"color:#ff0000;\">"
,这意味着<span color="#ff0000"/>"
。所以在这里我想解码它,并希望得到格式为“”的结果。
我只想要String str = "<span style=\"color:#ff0000;\"gt;";
public String decodeMethodUtf(Str)
{
//do some coding and decode
return str;
}
感谢任何帮助。
答案 0 :(得分:5)
也许这就是你想要的
Html.fromHtml("YOUR TXT").toString()
答案 1 :(得分:4)
实际上android并没有提供任何直接的类或方法来解码并删除所有特殊字符。我花了很多时间在网上找到这个。所以现在当我找到答案时我想和你分享这个答案。 这可以通过使用不在android中的org.apache.commons.lang类来完成。 首先,你必须从中下载jar文件 这里http://mvnrepository.com/artifact/commons-lang/commons-lang/2.3
下载jar文件后,在项目中包含该文件。 现在有一行代码在这里 decoding_string = StringEscapeUtils.unescapeHtml(endoded_string); 并且解码后的字符串是没有特殊字符的最终字符串。
答案 2 :(得分:0)
希望它有所帮助。
public String decodeMethodUtf(Str)
{
return URLDecoder.decode(str, "UTF-8");
}
答案 3 :(得分:0)
谢谢@DEVENDRA。从你的帖子我能够解码已经编码的返回的JSON字符串
魔术在你的陈述中:
String decoded_string = decdecodeMethodUtf(response);
============================================== < / p>
String path = Protocol.SERVER_URL + Protocol.kMyPhp + "?userId=" + userId + "&firstLoad=" + isRefresh + "&taskId=" + taskId;
// Make call to .php file and get response from DB
String response = HttpApi.sendRequest(path, null, null);
if (response == null) return null;
// Decode the response to replace ASCII Encoding Reference with Special Characters
String decoded_string = decdecodeMethodUtf(response);
Log.e("", ""+decoded_string);
response = decoded_string;
Log.i("response", response);
return response;