2014-02-11 67 views
1

我正在做一个Android应用程序,我在其中查询一个web服务,得到一个JsonObject,并获得所需的字符串后,我找到如下字符串:est & amp; aacute;HTML编码转义问题

我已经试过这二:

StringEscapeUtils.escapeHTML4(text); 

随着转化&放大器的结果; aacute&放大器;放大器; aacute

Html.escapeHtml(test)); 

这什么都不做。

任何想法如何转换成á或相应的字符?

+0

它看起来像你的字符串包含实际的HTML。你想做什么? – SLaks

+0

我想在TextView中正确显示它。现在它不显示á。 –

+0

@Calefaccion,如果您希望结果为“est&á”,则初始字符串必须为“est &á” – Jorgesys

回答

4

你说你曾使用下列内容:

StringEscapeUtils.escapeHTML4(text); 

相反试试这个:

StringEscapeUtils.unescapeHTML4(text); 

你被重新编码的HTML entitites;

文档浏览:

https://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/StringEscapeUtils.html

// import commons http://commons.apache.org 
import org.apache.commons.lang3.StringEscapeUtils; 

public static String stripHtml(String str) { 
return StringEscapeUtils.unescapeHtml4(str.replaceAll("<[A-Za-z/].*?>", "")).trim(); 
} 

另外,你可以使用这个解码其他编码类型(JSON,XML等),或者用它来进行编码。


这不是你问什么,但也可能是URL解码是有用的:

String result = URLDecoder.decode(url, "UTF-8"); 

API参考这里:

http://docs.oracle.com/javase/7/docs/api/java/net/URLDecoder.html

+0

URL编码!= HTML实体。 – SLaks

+0

我对编码的所有东西都很新颖。感谢您的帮助,我真的很生气的问题。 –