StringEscapeUtils不支持'实体名称

点击:105  日期:2021-04-19 16:46:07.0 [程序源码]

今天做字符转换,由于原字符可以能是任何形式的,为了显示友好,需要对原字符进行解码,然后再进行编码,可以防止二次编码。我用的是StringEscapeUtils. escapeHtml4和StringEscapeUtils.unescapeHtml4但是却发现单引号(‘)并没有被编码,也没有把'进行解码。找了半天发现很多转码工具都是这样,最后确认html形式的编码不支持单引号和实体,具体原因不知。我们可以使用StringEscapeUtils.escapeXml和StringEscapeUtils.unescapeXml,对单引号进行编码和解码,也可以用 replace替换为(')这样html形式的解码是可以识别的。