使用重音字母转义语言中的HTML

时间:2016-12-12 16:52:27

标签: java html-escape-characters

如果我不希望它转义重音字符,建议使用Java中的哪种html转义方法,例如,在字符串“Matías”中,重音í应该保持未转义状态。

StringEscapeUtils.escapeHtml()和Springs的HtmlUtils.htmlEscape()都会转义这些字母。

3 个答案:

答案 0 :(得分:2)

使用Spring的htmlEscape(String input, String encoding),您可以传递"UTF-8"之类的编码。根据JavaDoc,如果字符是在给定的编码中(或者至少是我理解它的方式),字符将不会被转义。

答案 1 :(得分:1)

Guava的HtmlEscapers.htmlEscaper()。escape(inputString)在没有指定编码的情况下完成了这个技巧

答案 2 :(得分:0)

使用Apache commons-text:

   public static final CharSequenceTranslator ESCAPE_CUSTOM =
         new AggregateTranslator(
                 new LookupTranslator(EntityArrays.BASIC_ESCAPE),
                 new LookupTranslator(EntityArrays.HTML40_EXTENDED_ESCAPE)
         );
   ESCAPE_CUSTOM.translate(input);