【发布时间】:2013-01-20 05:31:33
【问题描述】:
所以我目前正在使用 commons lang apache 库。
当我尝试取消转义此字符串时:😀
这将返回相同的字符串:😀
String characters = "😀"
StringEscapeUtils.unescapeHtml(characters);
输出:😀
但是当我尝试用较少的字符对字符串进行转义时,它可以工作:
String characters = "㈳"
StringEscapeUtils.unescapeHtml(characters);
输出:㈳
有什么想法吗?当我尝试在online unescaping utility 上取消转义此字符串"😀" 时,它可以工作,所以这可能是apache 通用语言库中的一个错误?或者谁能推荐另一个图书馆?
谢谢。
更新:
我现在能够成功地取消转义字符串。现在的问题是,当我试图逃避该 unescape 的结果时,它不会带回字符串 (????)。
【问题讨论】:
-
您使用的是哪个版本的 commons lang?
-
unescapeHTML是根据 HTML4.0 (1998)... 补充字符 (>0xFFFF) 最初是在 Unicode 3.1 (2001) 中添加的。只需找到另一个不那么古老的图书馆。 -
@orique,2.3.0.v201005080501。
-
@mai 是的,使用
StringEscapeUtils.unescapeHtml4from commons lang3 -
@mai 不是真的,使用 lang3 有什么问题?
标签: java html character-encoding apache-commons