我需要显示应该显示的数据库中的数据:
in the html: Behälter
in the browser: Behälter
但相反,我得到了这样的数据:
in the html: Behälter
in the browser: Behälter
所以我需要将&
更改回&
。我使用Java的String类中的replaceAll和replace方法。但它没有用。我甚至检查字符串是否有&或者不使用indexOf方法,但它似乎甚至没有捕获甚至看到&
符号。
我的代码:
// supposed the value returned by the getObject function is "Behälter"
String text = (String)getObject("value");
if (text.indexOf("&") >= 0) text = "abc" + text;
text = text.replace("&", "&");
text = text.replaceAll("&", "&");
if (text.indexOf("&") >= 0) text = text + "def";
text = text + "xyz";
结果是
in the html: Behälterxyz
in the browser: Behälterxyz
我输入和使用replace / replaceAll有什么问题吗?谢谢你的回答。
答案 0 :(得分:1)
我建议将Apache Commons Lang用于StringEscapeUtils.unescapeHtml()。
用编码的字符输入你的字符串,它应该把它吐出来解码。