如果我不希望它转义重音字符,建议使用Java中的哪种html转义方法,例如,在字符串“Matías”中,重音í应该保持未转义状态。
StringEscapeUtils.escapeHtml()和Springs的HtmlUtils.htmlEscape()都会转义这些字母。
答案 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);