【发布时间】:2017-04-27 14:29:05
【问题描述】:
如果我不想转义重音字符,建议使用 Java 中的哪种 html 转义方法,例如,在字符串“Matías”中,重音 í 应该保持未转义。
StringEscapeUtils.escapeHtml() 和 Springs 的 HtmlUtils.htmlEscape() 都会转义这些字母。
【问题讨论】:
标签: java html-escape-characters
如果我不想转义重音字符,建议使用 Java 中的哪种 html 转义方法,例如,在字符串“Matías”中,重音 í 应该保持未转义。
StringEscapeUtils.escapeHtml() 和 Springs 的 HtmlUtils.htmlEscape() 都会转义这些字母。
【问题讨论】:
标签: java html-escape-characters
使用 Spring 的 htmlEscape(String input, String encoding),您可以传递像 "UTF-8" 这样的编码。根据 JavaDoc,如果字符采用给定的编码(或者至少我是这样理解的),则字符不会被转义。
【讨论】:
Guava 的 HtmlEscapers.htmlEscaper().escape(inputString) 在没有指定编码的情况下成功了
【讨论】:
使用 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);
【讨论】: