1

我想在 webview 中显示颜色、跨度、字体等。所以数据来自 php webservice。由于解析数据时出现问题,我们使用 UTF-8 格式对其进行编码。我成功解析数据并插入数据库。但是这里的问题是,当我想在 webview 中显示该数据时,它包含一些特殊字符,例如"&lt;span style=\&quot;color:#ff0000;\&quot;&gt;"这意味着<span color="#ff0000"/>"。所以在这里我想解码它并希望得到格式“”的结果。

我只是想要 String str = "&lt;span style=\&quot;color:#ff0000;\&quot;gt;";

 public String  decodeMethodUtf(Str)
          {
             //do some coding and decode
                return str;
          }

任何帮助表示赞赏。

4

4 回答 4

5

也许这就是你想要的

Html.fromHtml("YOUR TXT").toString()
于 2013-08-07T01:57:02.433 回答
4

实际上android没有提供任何直接的类或方法来解码和删除所有特殊字符。我花了很多时间在网上找到这个。所以现在当我找到答案时,我想与你分享这个答案。这可以通过使用不在 android 中的 org.apache.commons.lang 类来完成。所以首先你必须从这里下载 jar 文件 http://mvnrepository.com/artifact/commons-lang/commons-lang/2.3

下载 jar 文件后,将该文件包含在您的项目中。现在一行代码在这里 decoded_string = StringEscapeUtils.unescapeHtml(endoded_string); 解码后的字符串是没有特殊字符的最终字符串。

于 2013-02-15T08:10:50.347 回答
0

希望能帮助到你。

   public String decodeMethodUtf(Str)
   {
      return URLDecoder.decode(str, "UTF-8");
   }
于 2013-02-14T13:34:12.113 回答
0

Thank you @DEVENDRA. From you post I was able to decode the returned JSON string that had been encoded

The magic was in your statement:

String decoded_string = decdecodeMethodUtf(response);

==============================================

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;
于 2016-07-09T18:59:20.653 回答